zjh
2024-12-31 9b6f602df09c5e39481f03e22d99fffe825b9393
zjh202412031
13个文件已修改
897 ■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjDwGroupingController.java 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java 645 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjCustomerMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjDwGroupingMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjCustomerService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjDwGroupingService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjCustomerServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjDwGroupingServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java
@@ -121,13 +121,23 @@
//            }
//        }
        List<String> strings = tjOrderService.selectTjOrderByCardId1();
        if (null != strings && strings.size() > 0) {
        if (null != strings && !strings.isEmpty()) {
            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);
    }
    @GetMapping("/vcustomerlist")
    @ApiOperation(value = "签到登记页面姓名栏弹框接口")
    public AjaxResult vcustomerlist(@RequestParam(required = false) String name,
                                  @RequestParam(required = false) String sjh,
                                  @RequestParam(required = false) String sfzh) {
        List<Map<String, Object>> maps = tjCustomerService.vcustomerlist(name, sjh, sfzh);
        return AjaxResult.success(maps);
    }
@@ -372,6 +382,27 @@
    }
    @GetMapping("/getcusList")
    @ApiOperation(value = "档案管理接口")
    public TableDataInfo getcusList(TjCustomer tjCustomer) {
        startPage();
        List<TjCustomer> list = tjCustomerService.getcusList(tjCustomer);
        if (null != list && !list.isEmpty()) {
            for (TjCustomer customer : list) {
                customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
                customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
                TjCustomerBlack tjCustomerBlack = blackService.isTjCustomerBlack(String.valueOf(customer.getCusId()));
                if (null != tjCustomerBlack) {
                    customer.setIsBlack("Y");
                } else {
                    customer.setIsBlack("N");
                }
            }
        }
        return getDataTable(list);
    }
    /**
     * 查询客户信息列表
     */
@@ -381,9 +412,8 @@
    public TableDataInfo list(TjCustomer tjCustomer) {
        startPage();
        List<TjCustomer> list = tjCustomerService.selectTjCustomerList(tjCustomer);
        if (null != list && list.size() > 0) {
        if (null != list && !list.isEmpty()) {
            for (TjCustomer customer : list) {
//                customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
                customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
                customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
                TjCustomerBlack tjCustomerBlack = blackService.isTjCustomerBlack(String.valueOf(customer.getCusId()));
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjDwGroupingController.java
@@ -16,6 +16,7 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import jodd.util.StringUtil;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
@@ -54,6 +55,32 @@
    @Resource
    private IDictCompService compService;
    @GetMapping("/huoqutuantitaocanxiangmu")
    @ApiOperation(value = "签到登记获取团体套餐项目")
    public AjaxResult huoqutuantitaocanxiangmu(@RequestParam String dwId,@RequestParam Long sex) {
      List<TjPackage> list=  tjDwGroupingService.huoqutuantitaocanxiangmu(dwId,sex);
        if (null !=list && !list.isEmpty()){
            for (TjPackage tjPackage : list) {
                List<TjProject> res=new ArrayList<>();
                LambdaQueryWrapper<TjGroupingPro> wqq=new LambdaQueryWrapper<>();
                wqq.eq(TjGroupingPro::getGroupingId,tjPackage.getPacId());
                final List<TjGroupingPro> groupingProList = groupingProService.list(wqq);
                if (null !=groupingProList && !groupingProList.isEmpty()){
                    for (TjGroupingPro pro : groupingProList) {
                        final TjProject byId = projectService.getById(pro.getProId());
                        if(null !=byId){
                            res.add(byId);
                        }
                    }
                    tjPackage.setTjProjectList(res);
                }
            }
        }
        return AjaxResult.success(list);
    }
    /**
     * 查询体检单位分组列表
@@ -100,23 +127,34 @@
    @Transactional
    public AjaxResult add(@RequestBody TjDwGrouping tjDwGrouping) {
        if((null==tjDwGrouping.getGroupingName() || "".equals(tjDwGrouping.getGroupingName()))
                || (null==tjDwGrouping.getSex() || "".equals(tjDwGrouping.getSex()))
                || (null==tjDwGrouping.getPacName()||"".equals(tjDwGrouping.getPacName()))){
                || (null==tjDwGrouping.getSex() || "".equals(tjDwGrouping.getSex()))){
                return AjaxResult.error("必填项不能为空!");
        }
        int i = tjDwGroupingService.selectTjDwGroupingBySex(tjDwGrouping.getDwDeptId(), tjDwGrouping.getSex());
        if(i>0){
            return AjaxResult.error("该性别分组已存在不可重复创建");
        String id = tjDwGrouping.getId();
        if(StringUtil.isNotBlank(id)){
            TjDwGrouping dwGrouping = tjDwGroupingService.getById(tjDwGrouping.getId());
            if(null !=dwGrouping){
                if(null !=tjDwGrouping.getMapList() && !tjDwGrouping.getMapList().isEmpty()){
                    tjDwGroupingService.deleteTjDwGroupingById(tjDwGrouping.getId());
                }
            }
        }else {
            int i = tjDwGroupingService.selectTjDwGroupingBySex(tjDwGrouping.getDwDeptId(), tjDwGrouping.getSex());
            if(i>0){
                return AjaxResult.error("该性别分组已存在不可重复创建");
            }
            int wz = tjDwGroupingService.selectTjDwGroupingBySex(tjDwGrouping.getDwDeptId(),"2");
            if(wz>0 && (tjDwGrouping.getSex().contains("0") || tjDwGrouping.getSex().contains("1"))){
                return AjaxResult.error("已存在通用分组不可创建其他分组");
            }
            int n = tjDwGroupingService.selectTjDwGroupingBySex(tjDwGrouping.getDwDeptId(),"0");
            int v = tjDwGroupingService.selectTjDwGroupingBySex(tjDwGrouping.getDwDeptId(),"1");
            if((n>0 || v>0) && tjDwGrouping.getSex().contains("2")){
                return AjaxResult.error("已存在其他分组不可创建通用分组");
            }
        }
        int wz = tjDwGroupingService.selectTjDwGroupingBySex(tjDwGrouping.getDwDeptId(),"2");
        if(wz>0 && (tjDwGrouping.getSex().contains("0") || tjDwGrouping.getSex().contains("1"))){
            return AjaxResult.error("已存在通用分组不可创建其他分组");
        }
        int n = tjDwGroupingService.selectTjDwGroupingBySex(tjDwGrouping.getDwDeptId(),"0");
        int v = tjDwGroupingService.selectTjDwGroupingBySex(tjDwGrouping.getDwDeptId(),"1");
        if((n>0 || v>0) && tjDwGrouping.getSex().contains("2")){
            return AjaxResult.error("已存在其他分组不可创建通用分组");
        }
        if(null ==tjDwGrouping.getPayType()|| tjDwGrouping.getPayType().isEmpty())return AjaxResult.error("请选择结算方式!!!");
        TjDwDept dwDept = dwDeptService.getById(tjDwGrouping.getDwDeptId());
@@ -124,9 +162,9 @@
            tjDwGrouping.setDwDeptName(dwDept.getDwDeptName());
        }
        tjDwGrouping.setDwName(compService.getById(tjDwGrouping.getDwId()).getCnName());
        if(StringUtil.isBlank(tjDwGrouping.getPacName())) tjDwGrouping.setPacName(tjDwGrouping.getGroupingName());
        if (tjDwGroupingService.saveOrUpdate(tjDwGrouping)) {
            if(null !=tjDwGrouping.getMapList() && tjDwGrouping.getMapList().size()>0){
//                groupingProService.remove(new LambdaQueryWrapper<TjGroupingPro>().eq(TjGroupingPro::getGroupingId,tjDwGrouping.getId()));
            if(null !=tjDwGrouping.getMapList() && !tjDwGrouping.getMapList().isEmpty()){
                groupingProService.deletedTjGroupingProByGroupingId(tjDwGrouping.getId());
                for (Map<String, Object> map : tjDwGrouping.getMapList()) {
                    TjGroupingPro groupingPro=new TjGroupingPro();
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -114,7 +114,7 @@
 */
@RestController
@RequestMapping("/hosp/order")
@Api(tags = "PC端 ----体检记录接口")
@Api(tags = "PC端 ----体检记录接口 OrderController")
@Slf4j
public class TjOrderController extends BaseController {
    @Resource
@@ -456,32 +456,32 @@
            wq.in(TjOrder::getUserId, cusIds);
        }
        if(null !=zt && (zt==0 || zt==1 || zt==2)){
            List<TjOrder> orders=new ArrayList<>();
            List<TjOrder> tjOrders=null;
        if (null != zt && (zt == 0 || zt == 1 || zt == 2)) {
            List<TjOrder> orders = new ArrayList<>();
            List<TjOrder> tjOrders = null;
            List<TjOrder> orderList = tjOrderService.list(wq);
            if(null !=orderList && !orderList.isEmpty()){
            if (null != orderList && !orderList.isEmpty()) {
                for (TjOrder order : orderList) {
                    int czwj = remarkService.panduaniscunzaiweijian(order.getTjNumber());
                    int sfwc = remarkService.panduaniswancheng(order.getTjNumber());
                    if (zt==0 && czwj == 0) {
                    if (zt == 0 && czwj == 0) {
                        //未检0
                        order.setZt("未检");
                        orders.add(order);
                    }
                    if (zt==1 && czwj > 0) {
                    if (zt == 1 && czwj > 0) {
                        //在检1
                        order.setZt("在检");
                        orders.add(order);
                    }
                    if (zt==2 && sfwc == 0 && order.getCheckStatus()==0 && order.getCheckTime()==null && order.getHeshouStatus()==0 && order.getPrintLastTime()==null) {
                    if (zt == 2 && sfwc == 0 && order.getCheckStatus() == 0 && order.getCheckTime() == null && order.getHeshouStatus() == 0 && order.getPrintLastTime() == null) {
                        //已完成2
                        order.setZt("已完成");
                        orders.add(order);
                    }
                }
                if(!orders.isEmpty()){
                    tjOrders=orders.stream().sorted(Comparator.comparing(TjOrder::getCreateTime).reversed())
                if (!orders.isEmpty()) {
                    tjOrders = orders.stream().sorted(Comparator.comparing(TjOrder::getCreateTime).reversed())
                            .skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
                    for (TjOrder order : tjOrders) {
                        TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId());
@@ -521,31 +521,31 @@
            return AjaxResult.success(map);
        }
        if(null !=zt){
            if(zt==3){
        if (null != zt) {
            if (zt == 3) {
                //已审核
                wq.isNotNull(TjOrder::getCheckTime);
                wq.eq(TjOrder::getCheckStatus,1);
                wq.eq(TjOrder::getCheckStatus, 1);
                wq.isNull(TjOrder::getHeshouTime);
                wq.isNull(TjOrder::getPrintLastTime);
                wq.eq(TjOrder::getHeshouStatus,0);
                wq.eq(TjOrder::getHeshouStatus, 0);
            }
            if(zt==4){
            if (zt == 4) {
                //生成报告
                wq.isNotNull(TjOrder::getReportTime);
                wq.isNull(TjOrder::getHeshouTime);
                wq.isNull(TjOrder::getPrintLastTime);
                wq.eq(TjOrder::getHeshouStatus,0);
                wq.eq(TjOrder::getHeshouStatus, 0);
            }
            if(zt==5){
            if (zt == 5) {
                //报告核收
                wq.eq(TjOrder::getHeshouStatus,1);
                wq.eq(TjOrder::getHeshouStatus, 1);
                wq.isNull(TjOrder::getPrintLastTime);
            }
            if(zt==6){
            if (zt == 6) {
                //已出报告
                wq.isNotNull(TjOrder::getPrintLastTime);
                wq.eq(TjOrder::getHeshouStatus,1);
                wq.eq(TjOrder::getHeshouStatus, 1);
                wq.isNotNull(TjOrder::getPrintLastTime);
            }
        }
@@ -591,20 +591,20 @@
                Integer heshouStatus = order.getHeshouStatus();
                Date lastTime = order.getPrintLastTime();
                if(null !=zt){
                    if(zt==3){
                if (null != zt) {
                    if (zt == 3) {
                        order.setZt("已审核");
                    }
                    if(zt==4){
                    if (zt == 4) {
                        order.setZt("生成报告");
                    }
                    if(zt==5){
                    if (zt == 5) {
                        order.setZt("报告核收");
                    }
                    if(zt==6){
                    if (zt == 6) {
                        order.setZt("已出报告");
                    }
                }else {
                } else {
                    if (czwj == 0) {
                        //未检0
                        order.setZt("未检");
@@ -625,7 +625,7 @@
                        //生成报告4
                        order.setZt("生成报告");
                    }
                    if (1== heshouStatus) {
                    if (1 == heshouStatus) {
                        //报告核收5
                        order.setZt("报告核收");
                    }
@@ -730,7 +730,7 @@
        if (djbeginTime == null) djbeginTime = "";
        if (djendTime == null) djendTime = "";
        Map<String, Object> map=  tjOrderService.getTjBgdyList(pageNum,pageSize,dyzt,tjNum,name,dw,djbeginTime,djendTime);
        Map<String, Object> map = tjOrderService.getTjBgdyList(pageNum, pageSize, dyzt, tjNum, name, dw, djbeginTime, djendTime);
        return AjaxResult.success(map);
    }
@@ -1190,15 +1190,15 @@
                log.info("该登记人的his就诊号是: " + tjOrder.getCardId());
                //团体
                if ("1".equals(tjOrder.getTjType())) {
/*                if ("1".equals(tjOrder.getTjType())) {
//                            asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater);
                    ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater);
                }
                }*/
                //个人
                if ("2".equals(tjOrder.getTjType())) {
         /*       if ("2".equals(tjOrder.getTjType())) {
                    //asyncService.newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
                    newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
                }
                }*/
                // 查询 对接Lis、Pacs申请如果类型包含在配置内则使用对接lis、pacs
                if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
                    // 这是上面个人方法引入数据
@@ -1208,10 +1208,16 @@
                    if (!ajaxResult.get("code").toString().equals("200")) return ajaxResult;
                    tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
                            sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
                    remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
                    List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
                    addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
                } else {
                    newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
                    List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
                    addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
                    hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId());
                }
//                        hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId());
                return AjaxResult.success(tjNumber);
            } else {
                tjCustomer.setCardId(tjOrder.getTjNumber());
@@ -1222,100 +1228,177 @@
            }
            //团体
            if ("1".equals(tjOrder.getTjType())) {
//                        asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater);
                asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater);
            }
//            if ("1".equals(tjOrder.getTjType())) {
//                ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater);
////                asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater);
//                List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
//                addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
//                return AjaxResult.success(tjNumber);
//            }
            //个人
            if ("2".equals(tjOrder.getTjType())) {
                //asyncService.newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
//            if ("2".equals(tjOrder.getTjType())) {
//                //asyncService.newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
//                newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
//                List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
//                addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
//
//                String s = configService.selectConfigByKey("is_request_common_his_api");
//                if (null != s && s.equals("Y")) {
//                    String apiUrl = configService.selectConfigByKey("common_api_url");
//                    String hospbm = configService.selectConfigByKey("common_api_service_hospbm");
//                    HashMap<String, Object> map = new HashMap<>();
//                    map.put("pationId", tjCustomer.getPationId());
//                    map.put("cardId", tjCustomer.getHisJzkh());
//                    map.put("tjNum", tjFlowingWater.getTjSerialNumber());
//                    map.put("kaiDanKs", "7805");
//                    // 收费标志 1待售费 2待退费
//                    map.put("shouTuiStatus", "1");
//
//                    JSONArray array = JSONUtil.createArray();
//                    LambdaQueryWrapper<TbTransition> wrapper = new LambdaQueryWrapper<>();
//                    wrapper.eq(TbTransition::getTjNum, tjOrder.getTjNumber());
//                    wrapper.eq(TbTransition::getCusId, tjCustomer.getCusIdcard());
//                    wrapper.eq(TbTransition::getCardId, tjCustomer.getCardId());
//                    wrapper.isNotNull(TbTransition::getOrdPrice);
//                    wrapper.gt(TbTransition::getOrdPrice, 0);
//
//                    List<TbTransition> list = tbTransitionService.list(wrapper);
//                    for (TbTransition transition : list) {
//                        LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>();
//                        wrapper1.eq(TjProject::getProId, transition.getProId());
//                        TjProject project = projectService.getOne(wrapper1);
//
//                        LambdaQueryWrapper<SysDept> wrapper2 = new LambdaQueryWrapper<>();
//                        wrapper2.eq(SysDept::getDeptId, project.getDeptId());
//                        SysDept dept = sysDeptService.getOne(wrapper2);
//
//                        JSONObject obj = JSONUtil.createObj();
//                        Integer sl = project.getSl();
//                        BigDecimal danjia = transition.getOrdPrice();
//                        BigDecimal allPrice = danjia.multiply(new BigDecimal(sl));
//                        obj.putOpt("danJia", danjia);
//                        obj.putOpt("jieSuanJe", allPrice);
//                        obj.putOpt("shuliang", sl);
//                        obj.putOpt("zhiXingKs", dept.getDeptId());
//                        obj.putOpt("zhiXingKsMc", dept.getDeptName());
//                        obj.putOpt("shouFeiXmId", project.getHisXmbm());
//                        obj.putOpt("shouFeiXmMc", project.getHisXmmc());
//
////                        obj.putOpt("zhiXingKs","7805");
////                        obj.putOpt("zhiXingKsMc","体检科");
////                        obj.putOpt("shouFeiXmId","4735346");
////                        obj.putOpt("shouFeiXmMc","体检费");
//                        array.add(obj);
//                    }
//                    map.put("feiYongInfoList", array);
//
//                    String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map);
//                    JSONObject object = JSONUtil.parseObj(post);
//                    if (object.getInt("code") == 200) {
//                        JSONObject data = object.getJSONObject("data");
//                        tjFlowingWater.setHisWaterId(data.getStr("feiYongId"));
//                        JSONArray mxList = data.getJSONArray("mxList");
//                        if (mxList != null && !mxList.isEmpty()) {
//                            List<TjFlowingWaterHis> his = mxList.toList(TjFlowingWaterHis.class);
//                            tjFlowingWaterHisService.saveBatch(his);
//                        }
//                        tjFlowingWaterService.updateById(tjFlowingWater);
//                    } else {
//                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//                        return AjaxResult.error();
//                    }
//                }
//                return AjaxResult.success(tjNumber);
//            }
            // 查询 对接Lis、Pacs申请如果类型包含在配置内则使用对接lis、pacs
            if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
                // 这是上面个人方法引入数据
                tjFlowingWater.setPayStasus(1L);
                newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
                tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
                        sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
                remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
                List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
                addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
                return AjaxResult.success(tjNumber);
            }else {
                newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
                List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
                addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
            }
                String s = configService.selectConfigByKey("is_request_common_his_api");
                if (null != s && s.equals("Y")) {
                    String apiUrl = configService.selectConfigByKey("common_api_url");
                    String hospbm = configService.selectConfigByKey("common_api_service_hospbm");
                    HashMap<String, Object> map = new HashMap<>();
                    map.put("pationId",tjCustomer.getPationId());
                    map.put("cardId",tjCustomer.getHisJzkh());
                    map.put("tjNum",tjFlowingWater.getTjSerialNumber());
                    map.put("kaiDanKs","7805");
                    // 收费标志 1待售费 2待退费
                    map.put("shouTuiStatus","1");
            String s = configService.selectConfigByKey("is_request_common_his_api");
            if (null != s && s.equals("Y")) {
                String apiUrl = configService.selectConfigByKey("common_api_url");
                String hospbm = configService.selectConfigByKey("common_api_service_hospbm");
                HashMap<String, Object> map = new HashMap<>();
                map.put("pationId", tjCustomer.getPationId());
                map.put("cardId", tjCustomer.getHisJzkh());
                map.put("tjNum", tjFlowingWater.getTjSerialNumber());
                map.put("kaiDanKs", "7805");
                // 收费标志 1待售费 2待退费
                map.put("shouTuiStatus", "1");
                    JSONArray array = JSONUtil.createArray();
                    LambdaQueryWrapper<TbTransition> wrapper = new LambdaQueryWrapper<>();
                    wrapper.eq(TbTransition::getTjNum,tjOrder.getTjNumber());
                    wrapper.eq(TbTransition::getCusId,tjCustomer.getCusIdcard());
                    wrapper.eq(TbTransition::getCardId,tjCustomer.getCardId());
                    wrapper.isNotNull(TbTransition::getOrdPrice);
                    wrapper.gt(TbTransition::getOrdPrice,0);
                JSONArray array = JSONUtil.createArray();
                LambdaQueryWrapper<TbTransition> wrapper = new LambdaQueryWrapper<>();
                wrapper.eq(TbTransition::getTjNum, tjOrder.getTjNumber());
                wrapper.eq(TbTransition::getCusId, tjCustomer.getCusIdcard());
                wrapper.eq(TbTransition::getCardId, tjCustomer.getCardId());
                wrapper.isNotNull(TbTransition::getOrdPrice);
                wrapper.gt(TbTransition::getOrdPrice, 0);
                    List<TbTransition> list = tbTransitionService.list(wrapper);
                    for (TbTransition transition : list) {
                        LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>();
                        wrapper1.eq(TjProject::getProId,transition.getProId());
                        TjProject project = projectService.getOne(wrapper1);
                List<TbTransition> list = tbTransitionService.list(wrapper);
                for (TbTransition transition : list) {
                    LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>();
                    wrapper1.eq(TjProject::getProId, transition.getProId());
                    TjProject project = projectService.getOne(wrapper1);
                        LambdaQueryWrapper<SysDept> wrapper2 = new LambdaQueryWrapper<>();
                        wrapper2.eq(SysDept::getDeptId,project.getDeptId());
                        SysDept dept = sysDeptService.getOne(wrapper2);
                    LambdaQueryWrapper<SysDept> wrapper2 = new LambdaQueryWrapper<>();
                    wrapper2.eq(SysDept::getDeptId, project.getDeptId());
                    SysDept dept = sysDeptService.getOne(wrapper2);
                        JSONObject obj = JSONUtil.createObj();
                        Integer sl = project.getSl();
                        BigDecimal danjia = transition.getOrdPrice();
                        BigDecimal allPrice = danjia.multiply(new BigDecimal(sl));
                        obj.putOpt("danJia",danjia);
                        obj.putOpt("jieSuanJe",allPrice);
                        obj.putOpt("shuliang",sl);
                        obj.putOpt("zhiXingKs",dept.getDeptId());
                        obj.putOpt("zhiXingKsMc",dept.getDeptName());
                        obj.putOpt("shouFeiXmId",project.getHisXmbm());
                        obj.putOpt("shouFeiXmMc",project.getHisXmmc());
                    JSONObject obj = JSONUtil.createObj();
                    Integer sl = project.getSl();
                    BigDecimal danjia = transition.getOrdPrice();
                    BigDecimal allPrice = danjia.multiply(new BigDecimal(sl));
                    obj.putOpt("danJia", danjia);
                    obj.putOpt("jieSuanJe", allPrice);
                    obj.putOpt("shuliang", sl);
                    obj.putOpt("zhiXingKs", dept.getDeptId());
                    obj.putOpt("zhiXingKsMc", dept.getDeptName());
                    obj.putOpt("shouFeiXmId", project.getHisXmbm());
                    obj.putOpt("shouFeiXmMc", project.getHisXmmc());
//                        obj.putOpt("zhiXingKs","7805");
//                        obj.putOpt("zhiXingKsMc","体检科");
//                        obj.putOpt("shouFeiXmId","4735346");
//                        obj.putOpt("shouFeiXmMc","体检费");
                        array.add(obj);
                    }
                    map.put("feiYongInfoList",array);
                    array.add(obj);
                }
                map.put("feiYongInfoList", array);
                    String post = HttpClientUtils.sendPost(apiUrl + "/api/his/"+hospbm+"/creatCostInfo", map);
                    JSONObject object = JSONUtil.parseObj(post);
                    if (object.getInt("code") == 200) {
                        JSONObject data = object.getJSONObject("data");
                        tjFlowingWater.setHisWaterId(data.getStr("feiYongId"));
                        JSONArray mxList = data.getJSONArray("mxList");
                        if (mxList != null && !mxList.isEmpty()) {
                            List<TjFlowingWaterHis> his = mxList.toList(TjFlowingWaterHis.class);
                            tjFlowingWaterHisService.saveBatch(his);
                        }
                        tjFlowingWaterService.updateById(tjFlowingWater);
                    }else {
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        return AjaxResult.error();
                String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map);
                JSONObject object = JSONUtil.parseObj(post);
                if (object.getInt("code") == 200) {
                    JSONObject data = object.getJSONObject("data");
                    tjFlowingWater.setHisWaterId(data.getStr("feiYongId"));
                    JSONArray mxList = data.getJSONArray("mxList");
                    if (mxList != null && !mxList.isEmpty()) {
                        List<TjFlowingWaterHis> his = mxList.toList(TjFlowingWaterHis.class);
                        tjFlowingWaterHisService.saveBatch(his);
                    }
                    tjFlowingWaterService.updateById(tjFlowingWater);
                } else {
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    return AjaxResult.error();
                }
            }
            // 查询 对接Lis、Pacs申请如果类型包含在配置内则使用对接lis、pacs
            if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
                // 这是上面个人方法引入数据
                tjFlowingWater.setPayStasus(1L);
                newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
//                AjaxResult ajaxResult = hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder, sysUser, result);
//                if (!ajaxResult.get("code").toString().equals("200")) return ajaxResult;
                tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
                        sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
                remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString());
                List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
                addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
            }
//            pacsApiMethodService.OrderAdd(tjCustomer,tjOrder);
            return AjaxResult.success(tjNumber);
//            pacsApiMethodService.OrderAdd(tjCustomer,tjOrder);
//            return AjaxResult.success(tjNumber);
        }
        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
        return AjaxResult.error();
@@ -2186,11 +2269,7 @@
    private List<Map<String, Object>> getMaps(String cusId, String cardId) {
        List<TbTransition> transitionList = null;
//        if (redisCache.hasKey(cardId + cusId)) {
//            transitionList = redisCache.getCacheList(cardId + cusId);
//        } else {
        transitionList = transitionService.getTbTransitionListByCusId(cusId, cardId);
//        }
        if (null == transitionList) return null;
        Map<Long, List<TbTransition>> collect = transitionList.stream().collect(Collectors.groupingBy(TbTransition::getParentProId));
        List<Map<String, Object>> list = new ArrayList<>();
@@ -2200,23 +2279,26 @@
            map.put("proPrantId", entry.getKey().toString());
            if (null != pacId) {
                TjPackage aPackage = tjPackageService.getById(entry.getValue().get(0).getPacId());
                map.put("tjCategory", aPackage.getTjCategory());
                map.put("pacName", aPackage.getPacName());
                TjProject tjProject = projectService.getById(entry.getKey());
//                TjPackageProject project = tjPackageProjectService.getOne(new LambdaQueryWrapper<TjPackageProject>().eq(TjPackageProject::getPacId, pacId)
//                        .eq(TjPackageProject::getProId, entry.getKey()));
                map.put("ordPrice", tjProject.getProPrice());
//                if (null != project) {
//                    map.put("nowPrice", project.getPriceNow());
//                } else {
//                    map.put("nowPrice", tjProject.getProPrice());
//                }
                map.put("nowPrice", transitionService.getTbTransitionDxPriceByPac(cusId, entry.getKey(), cardId, pacId));
                if (null != aPackage) {
                    map.put("tjCategory", aPackage.getTjCategory());
                    map.put("pacName", aPackage.getPacName());
                    TjProject tjProject = projectService.getById(entry.getKey());
                    map.put("ordPrice", tjProject.getProPrice());
                    map.put("nowPrice", transitionService.getTbTransitionDxPriceByPac(cusId, entry.getKey(), cardId, pacId));
                } else {
                    TjDwGrouping grouping = dwGroupingService.getById(pacId);
                    map.put("tjCategory", null);
                    map.put("pacName", grouping.getGroupingName());
                    TjProject tjProject = projectService.getById(entry.getKey());
                    map.put("ordPrice", tjProject.getProPrice());
                    map.put("nowPrice", transitionService.getTbTransitionDxPriceByPac(cusId, entry.getKey(), cardId, pacId));
                }
            } else {
                map.put("tjCategory", null);
                map.put("pacName", "单项");
                List<TbTransition> tbTransitionList = entry.getValue();
                if (null != tbTransitionList && tbTransitionList.size() > 0) {
                if (null != tbTransitionList && !tbTransitionList.isEmpty()) {
                    BigDecimal money1 = new BigDecimal("0.00");
                    BigDecimal money2 = new BigDecimal("0.00");
                    for (TbTransition tbTransition : tbTransitionList) {
@@ -2585,7 +2667,7 @@
            if (null != tjReservation && tjReservation.getPayType() == 1) {
                tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
                        sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
                remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString());
                remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
            }
        }
        if (tjFlowingWater.getPayStasus() == 1L) {
@@ -2595,7 +2677,7 @@
            tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith());
            tjFlowingWater.setPayType(4L);
            tjFlowingWaterService.updateById(tjFlowingWater);
            remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString());
            remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
//            asyncService.addTjChargingStandard(tjOrder, transitionService.getTbTransitionListByCusId(tjCustomer.getCusIdcard(), tjOrder.getCardId()), sysUser);
        }
    }
@@ -2606,49 +2688,49 @@
        tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId()));
        boolean b = tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(),
                String.valueOf(sysUser.getUserId()), tjOrder.getCardId());
        if (!b) {
            List<TjGroupingPro> proList = groupingProService.list(new LambdaQueryWrapper<TjGroupingPro>().eq(TjGroupingPro::getGroupingId, tjOrder.getGroupId()));
            if (null != proList && !proList.isEmpty()) {
                for (TjGroupingPro groupingPro : proList) {
                    TjOrderDetail detail = new TjOrderDetail();
                    TjProject tjProject = projectService.selectTjProjectByProId(Long.valueOf(groupingPro.getProId()));
                    detail.setIsSampling(String.valueOf(tjProject.getIsSampling()));
                    detail.setOrderId(tjOrder.getOrderId());
                    detail.setProId(Long.valueOf(groupingPro.getProId()));
                    detail.setTjStatus(0L);
                    detail.setCreateBy(sysUser.getNickName());
                    detail.setCreateTime(new Date());
                    detail.setUpdateBy(sysUser.getNickName());
                    detail.setUpdateTime(new Date());
                    detail.setCreateId(String.valueOf(sysUser.getUserId()));
                    detail.setUpdateId(String.valueOf(sysUser.getUserId()));
                    tjOrderDetailService.save(detail);
                }
                List<String> list = proList.stream().map(TjGroupingPro::getProId).collect(Collectors.toList());
                List<TjProject> projectList = projectService.list(new LambdaQueryWrapper<TjProject>().in(TjProject::getProParentId, list));
                for (TjProject project : projectList) {
                    TjOrderDetail detail = new TjOrderDetail();
                    detail.setOrderId(tjOrder.getOrderId());
                    detail.setProId(project.getProId());
                    detail.setTjStatus(0L);
                    detail.setCreateBy(sysUser.getNickName());
                    detail.setCreateTime(new Date());
                    detail.setUpdateBy(sysUser.getNickName());
                    detail.setUpdateTime(new Date());
                    detail.setCreateId(String.valueOf(sysUser.getUserId()));
                    detail.setUpdateId(String.valueOf(sysUser.getUserId()));
                    //获取该项目的默认值赋值给结果
                    if (null != project.getProDefault()) {
                        detail.setProResult(project.getProDefault());
                    } else {
                        detail.setProResult(null);
                    }
                    detail.setIsSampling(String.valueOf(project.getIsSampling()));
                    tjOrderDetailService.save(detail);
                }
            }
        }
//        if (!b) {
//            List<TjGroupingPro> proList = groupingProService.list(new LambdaQueryWrapper<TjGroupingPro>().eq(TjGroupingPro::getGroupingId, tjOrder.getGroupId()));
//            if (null != proList && !proList.isEmpty()) {
//                for (TjGroupingPro groupingPro : proList) {
//                    TjOrderDetail detail = new TjOrderDetail();
//                    TjProject tjProject = projectService.selectTjProjectByProId(Long.valueOf(groupingPro.getProId()));
//                    detail.setIsSampling(String.valueOf(tjProject.getIsSampling()));
//                    detail.setOrderId(tjOrder.getOrderId());
//                    detail.setProId(Long.valueOf(groupingPro.getProId()));
//                    detail.setTjStatus(0L);
//                    detail.setCreateBy(sysUser.getNickName());
//                    detail.setCreateTime(new Date());
//                    detail.setUpdateBy(sysUser.getNickName());
//                    detail.setUpdateTime(new Date());
//                    detail.setCreateId(String.valueOf(sysUser.getUserId()));
//                    detail.setUpdateId(String.valueOf(sysUser.getUserId()));
//                    tjOrderDetailService.save(detail);
//                }
//                List<String> list = proList.stream().map(TjGroupingPro::getProId).collect(Collectors.toList());
//                List<TjProject> projectList = projectService.list(new LambdaQueryWrapper<TjProject>().in(TjProject::getProParentId, list));
//                for (TjProject project : projectList) {
//                    TjOrderDetail detail = new TjOrderDetail();
//                    detail.setOrderId(tjOrder.getOrderId());
//                    detail.setProId(project.getProId());
//                    detail.setTjStatus(0L);
//                    detail.setCreateBy(sysUser.getNickName());
//                    detail.setCreateTime(new Date());
//                    detail.setUpdateBy(sysUser.getNickName());
//                    detail.setUpdateTime(new Date());
//                    detail.setCreateId(String.valueOf(sysUser.getUserId()));
//                    detail.setUpdateId(String.valueOf(sysUser.getUserId()));
//                    //获取该项目的默认值赋值给结果
//                    if (null != project.getProDefault()) {
//                        detail.setProResult(project.getProDefault());
//                    } else {
//                        detail.setProResult(null);
//                    }
//                    detail.setIsSampling(String.valueOf(project.getIsSampling()));
//
//                    tjOrderDetailService.save(detail);
//                }
//            }
//        }
        //添加remark表数据
        remarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId()));
@@ -2658,13 +2740,13 @@
            if (null != tjReservation && tjReservation.getPayType() == 1) {
                tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
                        sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
                remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString());
                remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
            }
        }
        if (tjFlowingWater.getPayStasus() == 1) {
            tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
                    sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
            remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString());
            remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
        }
        if (tjFlowingWater.getDiscount() == null) {
            transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), new BigDecimal(10), tjOrder.getTjNumber());
@@ -2713,11 +2795,11 @@
    @Transactional
    @RepeatSubmit
    public AjaxResult heXiaoByIds(@RequestBody List<String> orderIds) {
        if(null !=orderIds && !orderIds.isEmpty()){
        Date date = new Date();
        for (String orderId : orderIds) {
            TjOrder byId = tjOrderService.getById(orderId);
            if (null != byId) {
        if (null != orderIds && !orderIds.isEmpty()) {
            Date date = new Date();
            for (String orderId : orderIds) {
                TjOrder byId = tjOrderService.getById(orderId);
                if (null != byId) {
                /*if (byId.getReportTime() == null) {
                    LambdaQueryWrapper<TjReportTemplate> tjReportTemplateLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -2756,15 +2838,15 @@
                        return AjaxResult.error("生成报告异常,核收失败");
                    }
                }*/
                byId.setHeshouStatus(1);
                byId.setHeshouDoctor(UserHoder.getLoginUser().getUserId());
                byId.setHeshouTime(date);
                final boolean b = tjOrderService.updateById(byId);
                if (!b) {
                    return AjaxResult.error("核收失败");
                    byId.setHeshouStatus(1);
                    byId.setHeshouDoctor(UserHoder.getLoginUser().getUserId());
                    byId.setHeshouTime(date);
                    final boolean b = tjOrderService.updateById(byId);
                    if (!b) {
                        return AjaxResult.error("核收失败");
                    }
                }
            }
        }
        }
        return AjaxResult.success("核收成功");
    }
@@ -2921,7 +3003,7 @@
            if (null != order.getFinishTime()) return AjaxResult.error("该人员已签离,不可撤销!!!");
            String s = configService.selectConfigByKey("is_request_common_his_api");
            if (null != s && s.equals("Y") && "2".equals(order.getTjType())){
            if (null != s && s.equals("Y") && "2".equals(order.getTjType())) {
                String apiUrl = configService.selectConfigByKey("common_api_url");
                String hospbm = configService.selectConfigByKey("common_api_service_hospbm");
@@ -2932,23 +3014,23 @@
                wrapper1.orderByDesc(TjFlowingWater::getJxbz);
                List<TjFlowingWater> list = tjFlowingWaterService.list(wrapper1);
                LambdaQueryWrapper<TjCustomer> wrapper = new LambdaQueryWrapper<>();
                wrapper.eq(TjCustomer::getCusId,order.getUserId());
                wrapper.eq(TjCustomer::getCusId, order.getUserId());
                TjCustomer tjCustomer = tjCustomerService.getOne(wrapper);
                for (TjFlowingWater water : list) {
                    if (water.getPayStasus() == 0L){
                    if (water.getPayStasus() == 0L) {
                        weizhifu.add(water);
                    }else {
                    } else {
                        yizhifu.add(water);
                    }
                }
                AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order,true,tjNum);
                AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order, true, tjNum);
                if (error != null && !error.get("code").toString().equals("200")) return error;
                AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm,false,tjNum);
                AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm, false, tjNum);
                if (error1 != null && !error.get("code").toString().equals("200")) return error1;
            }else {
            } else {
                tjOrderService.deleteTjOrderByOrderId(order.getOrderId());
                tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId()));
                remarkService.deletedOrderRemarkByTjNum(tjNum);
@@ -3275,26 +3357,26 @@
                ArrayList<TjFlowingWater> yizhifu = new ArrayList<>();
                for (String bldh : dto.getBldhs()) {
                    LambdaQueryWrapper<TjFlowingWater> wrapper = new LambdaQueryWrapper<>();
                    wrapper.eq(TjFlowingWater::getJxbz,bldh);
                    wrapper.eq(TjFlowingWater::getJxbz, bldh);
                    TjFlowingWater water = tjFlowingWaterService.getOne(wrapper);
                    if (water.getPayStasus() == 0L){
                    if (water.getPayStasus() == 0L) {
                        weizhifu.add(water);
                    }else {
                    } else {
                        yizhifu.add(water);
                    }
                }
                String apiUrl = configService.selectConfigByKey("common_api_url");
                String hospbm = configService.selectConfigByKey("common_api_service_hospbm");
                LambdaQueryWrapper<TjCustomer> wrapper = new LambdaQueryWrapper<>();
                wrapper.eq(TjCustomer::getCusId,order.getUserId());
                wrapper.eq(TjCustomer::getCusId, order.getUserId());
                TjCustomer tjCustomer = tjCustomerService.getOne(wrapper);
                AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order,true,dto.getTjh());
                AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order, true, dto.getTjh());
                if (error != null && !error.get("code").toString().equals("200")) return error;
                AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm,false,dto.getTjh());
                AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm, false, dto.getTjh());
                if (error1 != null && !error.get("code").toString().equals("200")) return error1;
                return AjaxResult.success();
            }else {
            } else {
                try {
                    extracted(dto, order);
                } catch (Exception e) {
@@ -3307,56 +3389,56 @@
        return AjaxResult.error();
    }
    private AjaxResult zuofeiYiZhifu(ArrayList<TjFlowingWater> yizhifu, TjCustomer tjCustomer, TjOrder order, String apiUrl, String hospbm,Boolean isDelete,String tjNum) {
        if (!yizhifu.isEmpty()){
    private AjaxResult zuofeiYiZhifu(ArrayList<TjFlowingWater> yizhifu, TjCustomer tjCustomer, TjOrder order, String apiUrl, String hospbm, Boolean isDelete, String tjNum) {
        if (!yizhifu.isEmpty()) {
            for (TjFlowingWater water : yizhifu) {
                HashMap<String, Object> map = new HashMap<>();
                map.put("pationId", tjCustomer.getPationId());
                map.put("cardId", tjCustomer.getHisJzkh());
                map.put("tjNum", water.getTjSerialNumber());
                map.put("kaiDanKs","7805");
                map.put("kaiDanKs", "7805");
                // 收费标志 1待收费 2待退费
                map.put("shouTuiStatus","2");
                map.put("shouTuiStatus", "2");
                JSONArray array = JSONUtil.createArray();
                String bldh = water.getJxbz();
                List<TbTransition> list;
                if (bldh != null){
                if (bldh != null) {
                    LambdaQueryWrapper<TbTransition> wrapper1 = new LambdaQueryWrapper<>();
                    wrapper1.eq(TbTransition::getJxbz,bldh);
                    wrapper1.gt(TbTransition::getOrdPrice,0);
                    wrapper1.eq(TbTransition::getJxbz, bldh);
                    wrapper1.gt(TbTransition::getOrdPrice, 0);
                    list = tbTransitionService.list(wrapper1);
                }else {
                } else {
                    LambdaQueryWrapper<TbTransition> wrapper1 = new LambdaQueryWrapper<>();
                    wrapper1.isNull(TbTransition::getJxbz);
                    wrapper1.eq(TbTransition::getTjNum,tjNum);
                    wrapper1.gt(TbTransition::getOrdPrice,0);
                    wrapper1.eq(TbTransition::getTjNum, tjNum);
                    wrapper1.gt(TbTransition::getOrdPrice, 0);
                    list = tbTransitionService.list(wrapper1);
                }
                for (TbTransition transition : list) {
                    LambdaQueryWrapper<TjProject> queryWrapper = new LambdaQueryWrapper<>();
                    queryWrapper.eq(TjProject::getProId,transition.getProId());
                    queryWrapper.eq(TjProject::getProId, transition.getProId());
                    TjProject project = projectService.getOne(queryWrapper);
                    LambdaQueryWrapper<TjFlowingWaterHis> wrapper2 = new LambdaQueryWrapper<>();
                    wrapper2.eq(TjFlowingWaterHis::getParentId,water.getHisWaterId());
                    wrapper2.eq(TjFlowingWaterHis::getXmId,project.getHisXmbm());
                    wrapper2.eq(TjFlowingWaterHis::getParentId, water.getHisWaterId());
                    wrapper2.eq(TjFlowingWaterHis::getXmId, project.getHisXmbm());
                    List<TjFlowingWaterHis> list1 = tjFlowingWaterHisService.list(wrapper2);
                    for (TjFlowingWaterHis waterHis : list1) {
                        LambdaQueryWrapper<SysDept> wrapper = new LambdaQueryWrapper<>();
                        wrapper.eq(SysDept::getDeptId,project.getDeptId());
                        wrapper.eq(SysDept::getDeptId, project.getDeptId());
                        SysDept dept = sysDeptService.getOne(wrapper);
                        JSONObject obj = JSONUtil.createObj();
                        BigDecimal danjia = transition.getOrdPrice();
                        Integer sl = project.getSl();
                        BigDecimal allPrice = danjia.multiply(new BigDecimal(sl));
                        obj.putOpt("danJia",danjia);
                        obj.putOpt("jieSuanJe",allPrice.negate());
                        obj.putOpt("shuliang",Math.negateExact(sl));
                        obj.putOpt("feiYongMxId",waterHis.getCurrentId());
                        obj.putOpt("feiYongId",water.getHisWaterId());
                        obj.putOpt("zhiXingKs",dept.getDeptId());
                        obj.putOpt("zhiXingKsMc",dept.getDeptName());
                        obj.putOpt("shouFeiXmId",project.getHisXmbm());
                        obj.putOpt("shouFeiXmMc",project.getHisXmmc());
                        obj.putOpt("danJia", danjia);
                        obj.putOpt("jieSuanJe", allPrice.negate());
                        obj.putOpt("shuliang", Math.negateExact(sl));
                        obj.putOpt("feiYongMxId", waterHis.getCurrentId());
                        obj.putOpt("feiYongId", water.getHisWaterId());
                        obj.putOpt("zhiXingKs", dept.getDeptId());
                        obj.putOpt("zhiXingKsMc", dept.getDeptName());
                        obj.putOpt("shouFeiXmId", project.getHisXmbm());
                        obj.putOpt("shouFeiXmMc", project.getHisXmmc());
//                    obj.putOpt("zhiXingKs","7805");
//                    obj.putOpt("zhiXingKsMc","体检科");
@@ -3366,10 +3448,10 @@
                    }
                }
                map.put("feiYongInfoList",array);
                log.info("退费申请 入参 -> {}",JSONUtil.toJsonStr(map));
                String post = HttpClientUtils.sendPost(apiUrl + "/api/his/"+ hospbm +"/creatCostInfo", map);
                log.info("退费申请 返回 -> {}",JSONUtil.toJsonStr(post));
                map.put("feiYongInfoList", array);
                log.info("退费申请 入参 -> {}", JSONUtil.toJsonStr(map));
                String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map);
                log.info("退费申请 返回 -> {}", JSONUtil.toJsonStr(post));
                JSONObject jsonObject = JSONUtil.parseObj(post);
                if (jsonObject.getStr("code").equals("200")) {
                    // hisTfWaterId
@@ -3387,33 +3469,33 @@
                            tjSamplingMapper.deleteByTjNumAndCusIdAndJxbzo(tjNum, order.getUserId(), bldh1);
                        }
                    }
                }else return AjaxResult.error();
                } else return AjaxResult.error();
            }
        }
        return null;
    }
    private AjaxResult zuofeiWeiZhifu(ArrayList<TjFlowingWater> weizhifu, TjCustomer tjCustomer, String apiUrl, String hospbm, TjOrder order,Boolean isDelete,String tjNum) {
        if (!weizhifu.isEmpty()){
    private AjaxResult zuofeiWeiZhifu(ArrayList<TjFlowingWater> weizhifu, TjCustomer tjCustomer, String apiUrl, String hospbm, TjOrder order, Boolean isDelete, String tjNum) {
        if (!weizhifu.isEmpty()) {
            HashMap<String, Object> chexiaoMap = new HashMap<>();
            chexiaoMap.put("pationId", tjCustomer.getPationId());
            chexiaoMap.put("cardId", tjCustomer.getHisJzkh());
            String feiyongList = weizhifu.stream().map(TjFlowingWater::getHisWaterId).collect(Collectors.joining(","));
            chexiaoMap.put("feiYongIdList",feiyongList.trim().replaceAll(" ",""));
            chexiaoMap.put("feiYongIdList", feiyongList.trim().replaceAll(" ", ""));
            String post = HttpClientUtils.sendPost(apiUrl + "/api/his/"+ hospbm +"/revokeCost", chexiaoMap);
            String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/revokeCost", chexiaoMap);
            if (JSONUtil.parseObj(post).getStr("code").equals("200")) {
                if (isDelete) {
                    for (TjFlowingWater water : weizhifu) {
                        String bldh = water.getJxbz();
                        if(StrUtil.isNotBlank(bldh)){
                        if (StrUtil.isNotBlank(bldh)) {
                            remarkService.deleteTjOrderDetailByjxbz(bldh);
                            tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh);
                            tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh);
                            transitionService.deleteTjOrderDetailByjxbz(bldh);
                            blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, tjNum).eq(TjProBl::getBldh, bldh));
                            tjSamplingMapper.deleteByTjNumAndCusIdAndJxbzo(tjNum, order.getUserId(), bldh);
                        }else {
                        } else {
                            //这里删除的是这个人所有项目包括补录项目
                            tjOrderService.deleteTjOrderByOrderId(order.getOrderId());
                            tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId()));
@@ -3477,10 +3559,10 @@
    @Transactional
    public AjaxResult zongjanyemianshjianzhou(@RequestBody List<String> tjNUms) {
        if(null !=tjNUms && !tjNUms.isEmpty()){
            List<Map<String,Object>> list=new ArrayList<>();
        if (null != tjNUms && !tjNUms.isEmpty()) {
            List<Map<String, Object>> list = new ArrayList<>();
            for (String tjNUm : tjNUms) {
                Map<String,Object> map=new HashMap<>();
                Map<String, Object> map = new HashMap<>();
                TjOrder order = tjOrderService.getOrderByTjNum(tjNUm);
                if (null != order) {
                    int czwj = remarkService.panduaniscunzaiweijian(tjNUm);
@@ -3489,45 +3571,44 @@
                    Date reportTime = order.getReportTime();
                    Integer heshouStatus = order.getHeshouStatus();
                    Date lastTime = order.getPrintLastTime();
                    int a=0;
                    int a = 0;
                    if (czwj == 0) {
                        //未检
                        a=0;
                        a = 0;
                    }
                    if (czwj > 0) {
                        //在检
                        a=1;
                        a = 1;
                    }
                    if (sfwc == 0) {
                        //已完成
                        a=2;
                        a = 2;
                    }
                    if (null != checkTime) {
                        //已审核
                        a=3;
                        a = 3;
                    }
                    if (null != reportTime) {
                        //生成报告
                        a=4;
                        a = 4;
                    }
                    if (heshouStatus==1) {
                    if (heshouStatus == 1) {
                        //报告核收
                        a=5;
                        a = 5;
                    }
                    if (null != lastTime) {
                        //已出报告
                        a=6;
                        a = 6;
                    }
                    map.put("tjNUm",tjNUm);
                    map.put("sjz",a);
                    map.put("tjNUm", tjNUm);
                    map.put("sjz", a);
                    list.add(map);
                }
            }
        }
            return AjaxResult.success(list);
        }
        return AjaxResult.error();
    }
    @PostMapping("/heshouchexiao")
@@ -3535,7 +3616,7 @@
    @Transactional
    public AjaxResult heshouchexiao(@RequestBody List<String> tjNUms) {
        if(null !=tjNUms && !tjNUms.isEmpty()){
        if (null != tjNUms && !tjNUms.isEmpty()) {
            // 不在使用逻辑删除 逻辑删除导致打印报告生成 查询sql缓慢
            //逻辑删除数据库里的报告
@@ -3546,7 +3627,7 @@
            List<Long> list = tjReportService.list(wq1).stream().map(TjReport::getReId).collect(Collectors.toList());
            for (String tjNUm : tjNUms) {
                TjOrder order = tjOrderService.getOrderByTjNum(tjNUm);
                if(null !=order){
                if (null != order) {
                    order.setHeshouStatus(0);
                    order.setHeshouTime(null);
                    order.setHeshouDoctor(null);
@@ -3569,5 +3650,71 @@
    }
    @GetMapping("/qiandaodengjitianjiaxiangmubydanweifenzu")
    @ApiOperation(value = "签到登记根据单位分组获取体检项目")
    @Transactional
    public AjaxResult qiandaodengjitianjiaxiangmubydanweifenzu(@RequestParam String cusIdcard, @RequestParam String groupingId) {
        try {
            transitionService.saveTemoTransitionByGroupingId(cusIdcard, groupingId);
            return AjaxResult.success("操作成功!");
        } catch (Exception e) {
            e.printStackTrace();
            return AjaxResult.error();
        }
    }
    @PostMapping("/ttaddtTransition")
    @ApiOperation(value = "团体添加过渡表数据")
    @Transactional
    public AjaxResult ttaddtTransition(@RequestBody Map<String, Object> map) {
        Object packId = map.get("pacId");
        if (null == map.get("cusId")) return AjaxResult.error("请选择体检人");
        String cusId = map.get("cusId").toString();
        Object proIds1 = map.get("proIds");
        List<Long> proIds = null;
        if (null != proIds1 && !proIds1.equals("")) {
            proIds = JSON.parseArray(proIds1.toString(), Long.class);
        }
        TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(cusId);
        String cardId = "0";
        if (null != tjCustomer) {
            cardId = tjCustomer.getCardId();
        }
        if ((null == proIds || proIds.isEmpty()) && (null == packId || packId.equals(""))) {
            transitionService.deletedTbTransitionByCusId(cusId);
        }
        /*套餐*/
        if (null != packId && !packId.equals("")) {
            Long pacId = Long.valueOf(packId.toString());
            List<TbTransition> list = transitionService.getTbTransitionListByCusIdAndPac(cusId, String.valueOf(pacId));
            if (null == list || list.isEmpty()) {
                transitionService.deletedTbTransitionListByCusIdAndPac(cusId, cardId);
                String string = transitionService.ttpanduantaocanshifouchongfu(cusId, pacId);
                if (!StringUtils.isBlank(string)) {
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    return AjaxResult.error("操作失败! 以下项目已存在: " + string);
                }
                transitionService.ttsaveTemoTransitionByGroupingId(cusId, cardId, pacId.toString());
            }
        }
        //单项
        if (null != proIds && !proIds.isEmpty()) {
            //异步保存数据库表
            for (Long proId : proIds) {
                TjProject project = projectService.selectTjProjectByProId(proId);
                if (null != project) {
                    List<TbTransition> transitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId));
                    if (null == transitionList || transitionList.isEmpty()) {
                        transitionService.saveRedisTransitionByProId(cusId, cardId, proId);
                    }
                }
            }
        }
        return AjaxResult.success();
    }
}
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
@@ -217,6 +217,44 @@
    boolean saveTemoTransitionByGroupingId(@Param("cusId")String cusId,@Param("groupingId")String groupingId);
    @Insert("INSERT INTO tb_transition(\n" +
            "   cus_id,\n" +
            "   pac_id,\n" +
            "   pac_name,\n" +
            "   pro_id,\n" +
            "   pro_name,\n" +
            "   parent_pro_id,\n" +
            "   parent_pro_name,\n" +
            "   ord_price,\n" +
            "   now_price,\n" +
            "   create_time,\n" +
            "   pro_check_method,\n" +
            "   pro_type,\n" +
            "   card_id\n" +
            ")\n" +
            "SELECT\n" +
            "#{cusId},\n" +
            "#{groupingId},\n" +
            "d.grouping_name,\n" +
            "c.pro_id,\n" +
            "c.pro_name,\n" +
            "b.pro_id,\n" +
            "b.pro_name,\n" +
            "c.pro_price * (a.limits/10),\n" +
            "c.pro_price * (a.limits/10),\n" +
            "SYSDATE(),\n" +
            "c.pro_check_method,\n" +
            "c.pro_type,\n" +
            "\t#{cardId}\n" +
            "FROM\n" +
            "\ttj_grouping_pro a \n" +
            "JOIN tj_dw_grouping d ON d.id=a.grouping_id \n" +
            "\tLEFT JOIN tj_project b ON a.pro_id = b.pro_id \n" +
            "\tLEFT JOIN tj_project c ON c.pro_parent_id=b.pro_id\n" +
            "WHERE 1=1 AND a.grouping_id =#{groupingId} and c.deleted=0 ")
    boolean ttsaveTemoTransitionByGroupingId(@Param("cusId")String cusId,@Param("cardId") String cardId,@Param("groupingId") String groupingId);
//    @Select("SELECT b.price_now FROM \n" +
//            "(SELECT a.pac_id FROM tb_transition a  WHERE\n" +
//            "\ta.cus_id = #{cusId} \n" +
@@ -289,4 +327,12 @@
            "WHERE b.pro_id IN(SELECT DISTINCT a.parent_pro_id FROM tb_transition a WHERE a.cus_id=#{idCard} AND ISNULL(a.tj_num))" +
            "AND b.pac_id=#{pacId}")
    String panduantaocanshifouchongfu(@Param("idCard") String idCard,@Param("pacId") Long pacId);
    @Select("SELECT GROUP_CONCAT(c.pro_name SEPARATOR ' ; ' ) FROM tj_grouping_pro b JOIN tj_project c ON c.pro_id=b.pro_id\n" +
            "\n" +
            "WHERE b.pro_id IN(SELECT DISTINCT a.parent_pro_id FROM tb_transition a WHERE a.cus_id=#{idCard} AND ISNULL(a.tj_num))" +
            "AND b.grouping_id=#{pacId}")
    String ttpanduantaocanshifouchongfu(@Param("idCard") String idCard,@Param("pacId") Long pacId);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjCustomerMapper.java
@@ -2,6 +2,7 @@
import java.sql.ResultSet;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ltkj.hosp.domain.TjCustomer;
@@ -87,4 +88,20 @@
    @Update("update tj_customer set card_id=#{cardId} where cus_id=#{cusId}")
    void  updateCardId(@Param("cusId") Long cusId,@Param("cardId") String cardId);
//    @Select({"<script> select  * from  v_customer where 1=1 "+
//            " <when test='name !=null'>" +
//            "  AND xm like '%'+#{name}+'%'" +
//            "</when>" +
//            " <when test='sjh !=null'>" +
//            "  AND sjh like '%'+#{sjh}+'%' " +
//            "</when>" +
//            " <when test='sfzh !=null'>" +
//            "  AND sfzh = #{sfzh}" +
//            "</when>" +
//            "</script>"})
    List<Map<String, Object>> vcustomerlist(@Param("name")String name, @Param("sjh")String sjh, @Param("sfzh") String sfzh);
    List<TjCustomer> getcusList(TjCustomer tjCustomer);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjDwGroupingMapper.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ltkj.hosp.domain.TjDwGrouping;
import com.ltkj.hosp.domain.TjPackage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@@ -103,4 +104,10 @@
            "            GROUP BY\n" +
            "            b.sex)b")
    public int selectTjDwGroupingByDwId(String dwId);
    @Select("SELECT a.id pac_id,grouping_name pac_name,a.price price , GROUP_CONCAT(b.pro_name ORDER BY b.pro_name) allProName FROM   tj_dw_grouping a  JOIN tj_grouping_pro b ON b.grouping_id=a.id \n" +
            "WHERE a.dw_id=#{dwId} AND a.sex=#{sex} GROUP BY b.grouping_id")
    List<TjPackage> huoqutuantitaocanxiangmu(@Param("dwId") String dwId,@Param("sex") Long sex);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java
@@ -117,6 +117,8 @@
    boolean saveTemoTransitionByGroupingId(String cusId,String groupingId);
    boolean ttsaveTemoTransitionByGroupingId(String cusId, String cardId,String groupingId);
    BigDecimal getTbTransitionPriceAndOrdPrice(String cusId,Long proId);
    BigDecimal getTbTransitionDxPriceAndOrdPrice(String cusId,Long proId);
@@ -131,4 +133,6 @@
    void deleteTjOrderDetailByjxbz(String bldh);
    String panduantaocanshifouchongfu(String idCard,Long pacId);
    String ttpanduantaocanshifouchongfu(String idCard,Long pacId);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjCustomerService.java
@@ -2,6 +2,7 @@
import java.sql.ResultSet;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ltkj.hosp.domain.TjCustomer;
@@ -70,4 +71,8 @@
    String getCompNameByCusId(String cusId);
    void  updateCardId(Long cusId,String cardId);
    List<Map<String, Object>> vcustomerlist(String name, String sjh, String sfzh);
    List<TjCustomer> getcusList(TjCustomer tjCustomer);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjDwGroupingService.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ltkj.hosp.domain.TjDwGrouping;
import com.ltkj.hosp.domain.TjPackage;
/**
 * 体检单位分组Service接口
@@ -66,4 +67,6 @@
    public int selectTjDwGroupingByDwDeptId(String dwDeptId);
    public int selectTjDwGroupingByDwId(String dwId);
    List<TjPackage> huoqutuantitaocanxiangmu(String dwId, Long sex);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java
@@ -184,6 +184,11 @@
    }
    @Override
    public boolean ttsaveTemoTransitionByGroupingId(String cusId, String cardId, String groupingId) {
        return tbTransitionMapper.ttsaveTemoTransitionByGroupingId(cusId,cardId,groupingId);
    }
    @Override
    public BigDecimal getTbTransitionPriceAndOrdPrice(String cusId, Long proId) {
        return tbTransitionMapper.getTbTransitionPriceAndOrdPrice(cusId,proId);
    }
@@ -217,4 +222,9 @@
    public String panduantaocanshifouchongfu(String idCard,Long pacId) {
        return tbTransitionMapper.panduantaocanshifouchongfu(idCard,pacId);
    }
    @Override
    public String ttpanduantaocanshifouchongfu(String idCard,Long pacId) {
        return tbTransitionMapper.ttpanduantaocanshifouchongfu(idCard,pacId);
    }
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjCustomerServiceImpl.java
@@ -1,7 +1,9 @@
package com.ltkj.hosp.service.impl;
import java.sql.ResultSet;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ltkj.common.utils.DateUtils;
@@ -116,4 +118,14 @@
    public void updateCardId(Long cusId, String cardId) {
         tjCustomerMapper.updateCardId(cusId,cardId);
    }
    @Override
    public List<Map<String, Object>> vcustomerlist(String name, String sjh, String sfzh) {
        return tjCustomerMapper.vcustomerlist(name,sjh,sfzh);
    }
    @Override
    public List<TjCustomer> getcusList(TjCustomer tjCustomer) {
        return tjCustomerMapper.getcusList(tjCustomer);
    }
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjDwGroupingServiceImpl.java
@@ -1,10 +1,12 @@
package com.ltkj.hosp.service.impl;
import java.util.Collections;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ltkj.common.utils.DateUtils;
import com.ltkj.hosp.domain.TjDwDept;
import com.ltkj.hosp.domain.TjPackage;
import com.ltkj.hosp.mapper.TjDwDeptMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -104,4 +106,9 @@
    public int selectTjDwGroupingByDwId(String dwId) {
        return tjDwGroupingMapper.selectTjDwGroupingByDwId(dwId);
    }
    @Override
    public List<TjPackage> huoqutuantitaocanxiangmu(String dwId, Long sex) {
        return tjDwGroupingMapper.huoqutuantitaocanxiangmu(dwId,sex);
    }
}
ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml
@@ -216,4 +216,39 @@
            #{cusId}
        </foreach>
    </delete>
    <select id="vcustomerlist" parameterType="string" resultType="map">
        select  * from  v_customer
        <where>
            <if test="name != null  and name != ''">and xm like concat('%', #{name}, '%')</if>
            <if test="sjh != null  and sjh != ''">and lxdh like concat('%', #{sjh}, '%')</if>
            <if test="sfzh != null  and sfzh != ''">and sfzh like concat('%', #{sfzh}, '%')</if>
        </where>
    </select>
    <select id="getcusList" parameterType="TjCustomer" resultMap="TjCustomerResult">
        <include refid="selectTjCustomerVo"/>
        <where>
            <if test="cusName != null  and cusName != ''">and cus_name like concat('%', #{cusName}, '%')</if>
            <if test="cusSex != null ">and cus_sex = #{cusSex}</if>
            <if test="cusBrithday != null ">and cus_brithday = #{cusBrithday}</if>
            <if test="cusAddr != null  and cusAddr != ''">and cus_addr = #{cusAddr}</if>
            <if test="addr != null  and addr != ''">and addr = #{addr}</if>
            <if test="cusPhone != null  and cusPhone != ''">and cus_phone = #{cusPhone}</if>
            <if test="cusPostcode != null  and cusPostcode != ''">and cus_postCode = #{cusPostcode}</if>
            <if test="cusEmail != null  and cusEmail != ''">and cus_email = #{cusEmail}</if>
            <if test="indexCard != null  and indexCard != ''">and index_card = #{indexCard}</if>
            <if test="cusNational != null  and cusNational != ''">and cus_national = #{cusNational}</if>
            <if test="cusMarryStatus != null  and cusMarryStatus != ''">and cus_marry_status = #{cusMarryStatus}</if>
            <if test="cusIdcard != null  and cusIdcard != ''">and cus_idcard = #{cusIdcard}</if>
            <if test="cusIntroduce != null  and cusIntroduce != ''">and cus_introduce = #{cusIntroduce}</if>
            <if test="cusNumber != null ">and cus_number = #{cusNumber}</if>
            <if test="cusIsvip != null  and cusIsvip != ''">and cus_isvip = #{cusIsvip}</if>
            <if test="pym != null  and pym != ''">and pym = #{pym}</if>
            <if test="dictCompId != null  and dictCompId != ''">and dict_comp_id = #{dictCompId}</if>
            <if test="compName != null  and compName != ''">and comp_name = #{compName}</if>
            and deleted =0
        </where>
    </select>
</mapper>