zjh
2025-04-11 15dc099b8335a87d2c4d1046f199fb28f4b6338f
zjh20250411
3个文件已修改
780 ■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiController.java 363 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjProAdvicerules.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/resources/mapper/hosp/TjProAdvicerulesMapper.xml 415 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiController.java
@@ -25,6 +25,7 @@
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.NoTransactionException;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.bind.annotation.*;
@@ -212,7 +213,8 @@
    @Transactional
    @PostMapping("/asyncPacs")
    public AjaxResult asyncPacs(@RequestBody String json) {
        log.info("合并检测同步参数 ->{}",json);
        try {
            log.info("合并检测同步参数 ->{}",json);
//        try {
//            Thread.sleep(2000);
//        } catch (InterruptedException ignored) {
@@ -220,196 +222,201 @@
//        }
//        if (true)
//            return AjaxResult.error("同步失败请重试");
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        cn.hutool.json.JSONObject parseObj = JSONUtil.parseObj( json);
        cn.hutool.json.JSONObject pacs = parseObj.getJSONObject("pacs");
        cn.hutool.json.JSONArray lis = parseObj.getJSONArray("lis");
        cn.hutool.json.JSONObject tj = parseObj.getJSONObject("tj");
        if (pacs != null && !pacs.isEmpty()){
            String tjNum = pacs.getStr("tjnum");
            LambdaQueryWrapper<TjOrder> wrapper1 = new LambdaQueryWrapper<>();
            wrapper1.eq(TjOrder::getTjNumber,tjNum);
            TjOrder order = tjOrderService.getOne(wrapper1);
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            cn.hutool.json.JSONObject parseObj = JSONUtil.parseObj( json);
            cn.hutool.json.JSONObject pacs = parseObj.getJSONObject("pacs");
            cn.hutool.json.JSONArray lis = parseObj.getJSONArray("lis");
            cn.hutool.json.JSONObject tj = parseObj.getJSONObject("tj");
            if (pacs != null && !pacs.isEmpty()){
                String tjNum = pacs.getStr("tjnum");
                LambdaQueryWrapper<TjOrder> wrapper1 = new LambdaQueryWrapper<>();
                wrapper1.eq(TjOrder::getTjNumber,tjNum);
                TjOrder order = tjOrderService.getOne(wrapper1);
            LtkjExamJcsqd ltkjExamJcsqd = new LtkjExamJcsqd();
            ltkjExamJcsqd.setTjh(order.getCardId());
                LtkjExamJcsqd ltkjExamJcsqd = new LtkjExamJcsqd();
                ltkjExamJcsqd.setTjh(order.getCardId());
            LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>();
            queryWrapper.eq(LtkjJianchajianyanTree::getCardId, order.getCardId());
            TjProject project = projectService.getById(tj.getStr("proId"));
            String xmdm = project.getHisXmbm();
            if (project.getSfzhfy().equals("N")){
                LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
                wrapper.eq(TjProject::getProParentId,project.getProId());
                List<TjProject> list = projectService.list(wrapper);
                for (TjProject tjProject : list) {
                    if (StrUtil.isNotBlank(tjProject.getHisXmbm())){
                        xmdm = tjProject.getHisXmbm();
                        break;
                LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>();
                queryWrapper.eq(LtkjJianchajianyanTree::getCardId, order.getCardId());
                TjProject project = projectService.getById(tj.getStr("proId"));
                String xmdm = project.getHisXmbm();
                if (project.getSfzhfy().equals("N")){
                    LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
                    wrapper.eq(TjProject::getProParentId,project.getProId());
                    List<TjProject> list = projectService.list(wrapper);
                    for (TjProject tjProject : list) {
                        if (StrUtil.isNotBlank(tjProject.getHisXmbm())){
                            xmdm = tjProject.getHisXmbm();
                            break;
                        }
                    }
                }
            }
            queryWrapper.eq(LtkjJianchajianyanTree::getType,"检查");
            queryWrapper.eq(LtkjJianchajianyanTree::getHisXmdm,xmdm);
                queryWrapper.eq(LtkjJianchajianyanTree::getType,"检查");
                queryWrapper.eq(LtkjJianchajianyanTree::getHisXmdm,xmdm);
            LtkjJianchajianyanTree tree = ltkjJianchajianyanTreeService.getOne(queryWrapper);
            ltkjExamJcsqd.setTmh("M_"+tree.getSqdh()+"_"+tree.getHisXmdm());
            ltkjExamJcsqd.setBgys(pacs.getStr("checkDoctorName"));
            ltkjExamJcsqd.setBgysid(pacs.getStr("checkDoctorCode"));
            ltkjExamJcsqd.setSqsj(format.format(tree.getCreateTime()));
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
            Date reportDate = null;
            try {
                reportDate = dateFormat.parse(pacs.getStr("reportDate"));
                ltkjExamJcsqd.setJgsj(format.format(reportDate));
            } catch (ParseException ignored) {
                ltkjExamJcsqd.setJgsj(format.format(new Date()));
            }
            String checkParts = pacs.getStr("checkParts");
//            ltkjExamJcsqd.setJcxmmc(checkParts);
//            ltkjExamJcsqd.setJcxmid(xmdm);
            ltkjExamJcsqd.setJcxmmc(project.getProName());
            ltkjExamJcsqd.setJcxmid(project.getProId().toString());
            ltkjExamJcsqd.setBw(checkParts);
            ltkjExamJcsqd.setJgzt(pacs.getStr("diagnosis"));
            ltkjExamJcsqd.setJgbx(pacs.getStr("examination"));
            boolean save1 = ltkjExamJcsqdService.save(ltkjExamJcsqd);
            LtkjExamJcbgd ltkjExamJcbgd = new LtkjExamJcbgd();
            ltkjExamJcbgd.setTjh(ltkjExamJcsqd.getTjh());
            ltkjExamJcbgd.setTmh(ltkjExamJcsqd.getTmh());
//            ltkjExamJcbgd.setXmdm(ltkjExamJcsqd.getJcxmid());
//            ltkjExamJcbgd.setXmmc(ltkjExamJcsqd.getJcxmmc());
            ltkjExamJcbgd.setXmdm(project.getProId().toString());
            ltkjExamJcbgd.setXmmc(project.getProName());
            ltkjExamJcbgd.setBgUrl("");
            ltkjExamJcbgd.setShysxm(pacs.getStr("reportDoctorName"));
            ltkjExamJcbgd.setShysdm(pacs.getStr("reportDoctorCode"));
//            ltkjExamJcbgd.setYxzd(ltkjExamJcsqd.getJgzt());
//            ltkjExamJcbgd.setYxbx(ltkjExamJcsqd.getJgbx());
            ltkjExamJcbgd.setZdsj(ltkjExamJcsqd.getJgsj());
            ltkjExamJcbgd.setSqsj(ltkjExamJcsqd.getSqsj());
            ltkjExamJcbgd.setJcbw(ltkjExamJcsqd.getJcxmmc());
            ltkjExamJcbgd.setBgNr(ltkjExamJcsqd.getJgbx());
            ltkjExamJcbgd.setYxbx(ltkjExamJcsqd.getJgzt());
            ltkjExamJcbgd.setYxzd(ltkjExamJcsqd.getJgzt());
            boolean save2 = ltkjExamJcbgdService.save(ltkjExamJcbgd);
            if (save1 && save2) {
                LtkjJianchajianyanTree tree = ltkjJianchajianyanTreeService.getOne(queryWrapper);
                ltkjExamJcsqd.setTmh("M_"+tree.getSqdh()+"_"+tree.getHisXmdm());
                ltkjExamJcsqd.setBgys(pacs.getStr("checkDoctorName"));
                ltkjExamJcsqd.setBgysid(pacs.getStr("checkDoctorCode"));
                ltkjExamJcsqd.setSqsj(format.format(tree.getCreateTime()));
                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
                Date reportDate = null;
                try {
                    testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
                    reportDate = dateFormat.parse(pacs.getStr("reportDate"));
                    ltkjExamJcsqd.setJgsj(format.format(reportDate));
                } catch (ParseException ignored) {
                    ltkjExamJcsqd.setJgsj(format.format(new Date()));
                }
                String checkParts = pacs.getStr("checkParts");
    //            ltkjExamJcsqd.setJcxmmc(checkParts);
    //            ltkjExamJcsqd.setJcxmid(xmdm);
                ltkjExamJcsqd.setJcxmmc(project.getProName());
                ltkjExamJcsqd.setJcxmid(project.getProId().toString());
                ltkjExamJcsqd.setBw(checkParts);
                ltkjExamJcsqd.setJgzt(pacs.getStr("diagnosis"));
                ltkjExamJcsqd.setJgbx(pacs.getStr("examination"));
                boolean save1 = ltkjExamJcsqdService.save(ltkjExamJcsqd);
                LtkjExamJcbgd ltkjExamJcbgd = new LtkjExamJcbgd();
                ltkjExamJcbgd.setTjh(ltkjExamJcsqd.getTjh());
                ltkjExamJcbgd.setTmh(ltkjExamJcsqd.getTmh());
    //            ltkjExamJcbgd.setXmdm(ltkjExamJcsqd.getJcxmid());
    //            ltkjExamJcbgd.setXmmc(ltkjExamJcsqd.getJcxmmc());
                ltkjExamJcbgd.setXmdm(project.getProId().toString());
                ltkjExamJcbgd.setXmmc(project.getProName());
                ltkjExamJcbgd.setBgUrl("");
                ltkjExamJcbgd.setShysxm(pacs.getStr("reportDoctorName"));
                ltkjExamJcbgd.setShysdm(pacs.getStr("reportDoctorCode"));
    //            ltkjExamJcbgd.setYxzd(ltkjExamJcsqd.getJgzt());
    //            ltkjExamJcbgd.setYxbx(ltkjExamJcsqd.getJgbx());
                ltkjExamJcbgd.setZdsj(ltkjExamJcsqd.getJgsj());
                ltkjExamJcbgd.setSqsj(ltkjExamJcsqd.getSqsj());
                ltkjExamJcbgd.setJcbw(ltkjExamJcsqd.getJcxmmc());
                ltkjExamJcbgd.setBgNr(ltkjExamJcsqd.getJgbx());
                ltkjExamJcbgd.setYxbx(ltkjExamJcsqd.getJgzt());
                ltkjExamJcbgd.setYxzd(ltkjExamJcsqd.getJgzt());
                boolean save2 = ltkjExamJcbgdService.save(ltkjExamJcbgd);
                if (save1 && save2) {
                    try {
                        testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
                    }catch (Exception e){
                        log.error(String.valueOf(e));
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        return AjaxResult.error("同步失败请重试");
                    }
                } else {
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    return AjaxResult.error("同步失败请重试");
                }
                return AjaxResult.success();
            }else {
                cn.hutool.json.JSONObject entries = (cn.hutool.json.JSONObject) lis.get(0);
                String tjNum = entries.getStr("tjNum");
                LtkjHysqd hysqd = new LtkjHysqd();
                TjOrder order = tjOrderService.getOrderByTjNum(tjNum);
                hysqd.setTjh(order.getCardId());
                String mzh = order.getCardId();
                LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>();
                queryWrapper.eq(LtkjJianchajianyanTree::getCardId, mzh);
                TjProject project = projectService.getById(tj.getStr("proId"));
                String xmdm = project.getHisXmbm();
                queryWrapper.eq(LtkjJianchajianyanTree::getType,"检验");
                queryWrapper.eq(LtkjJianchajianyanTree::getHisXmdm,xmdm);
                LtkjJianchajianyanTree tree = ltkjJianchajianyanTreeService.getOne(queryWrapper);
                if (tree == null) {
                    tree = new LtkjJianchajianyanTree();
                    tree.setHisXmdm(xmdm);
                    tree.setCreateTime(new Date());
                    String sqdh = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + String.valueOf(RandomUtil.randomInt(0, 99999));
                    queryWrapper = new LambdaQueryWrapper<>();
                    queryWrapper.eq(LtkjJianchajianyanTree::getSqdh,sqdh);
                    if (ltkjJianchajianyanTreeService.getOne(queryWrapper) == null) {
                        tree.setSqdh(sqdh);
                    }else {
                        while (true){
                            sqdh = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + String.valueOf(RandomUtil.randomInt(0, 99999));
                            queryWrapper = new LambdaQueryWrapper<>();
                            queryWrapper.eq(LtkjJianchajianyanTree::getSqdh,sqdh);
                            if (ltkjJianchajianyanTreeService.getOne(queryWrapper) == null) {
                                tree.setSqdh(sqdh);
                                break;
                            }
                        }
                    }
                }
                String tmh = tree.getSqdh()+"_"+tree.getHisXmdm();
                String shys = "";
                for (Object o : lis) {
                    cn.hutool.json.JSONObject jsonObject = (cn.hutool.json.JSONObject) o;
                    if (StrUtil.isNotBlank(jsonObject.getStr("jyxh"))) tmh = jsonObject.getStr("jyxh");
                    if (StrUtil.isNotBlank(jsonObject.getStr("shys"))) shys = jsonObject.getStr("shys");
                    if (StrUtil.isNotBlank(tmh) && StrUtil.isNotBlank(shys) && StrUtil.isNotBlank(jsonObject.getStr("jyxh"))) break;
                }
                hysqd.setTmh(tmh);
    //            if (StrUtil.isNotBlank(xmdm)) {
    //                hysqd.setXmid(xmdm);
    //                hysqd.setXmmc(project.getHisXmmc());
    //            }else {
    //                hysqd.setXmid(String.valueOf(project.getProId()));
    //                hysqd.setXmmc(project.getProName());
    //            }
                hysqd.setXmid(project.getProId().toString());
                hysqd.setXmmc(project.getProName());
                hysqd.setSqsj(format.format(tree.getCreateTime()));
                hysqd.setJgsj(format.format(new Date()));
                hysqd.setShrxm(shys);
    //            hysqd.setBbmc();
                hysqdService.deletedByTjhAndXmId(hysqd.getTjh(),hysqd.getXmid());
                hybgdService.deletedLtkjHybgdByTjhAndTmh(tree.getSqdh()+"_"+tree.getHisXmdm());
                hysqdService.save(hysqd);
                for (Object object : lis) {
                    cn.hutool.json.JSONObject jsonObject = (cn.hutool.json.JSONObject) object;
                    LtkjHybgd hybgd = new LtkjHybgd();
                    hybgd.setTmh(tree.getSqdh()+"_"+tree.getHisXmdm());
                    hybgd.setJcxmid(jsonObject.getStr("jcxmid"));
                    hybgd.setJcxm(jsonObject.getStr("proName"));
                    hybgd.setJyjg(jsonObject.getStr("proResult"));
                    hybgd.setJgdw(jsonObject.getStr("company"));
                    String tjStandardGtValue = jsonObject.getStr("tjStandardGtValue");
                    String zdz = "";
                    String zxz = "";
                    if (tjStandardGtValue.contains("-")){
                        String[] split = tjStandardGtValue.split("-");
                        zxz = split[0].trim();
                        zdz = split[1].trim();
                    }
                    hybgd.setFwzdz(zdz);
                    hybgd.setFwzgz(zxz);
                    hybgd.setFwz(tjStandardGtValue);
                    hybgd.setJysj(jsonObject.getStr("examinationDate"));
                    hybgd.setShsj(jsonObject.getStr("examinationDate"));
                    hybgd.setJyys(jsonObject.getStr("checkDoctorName"));
                    hybgd.setShysmc(shys);
                    hybgd.setYcbz(jsonObject.getStr("ycbz"));
                    hybgdService.save(hybgd);
                }
                try {
                    testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
                }catch (Exception e){
                    log.error(String.valueOf(e));
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    return AjaxResult.error("同步失败请重试");
                }
            } else {
                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                return AjaxResult.error("同步失败请重试");
                return AjaxResult.success();
            }
            return AjaxResult.success();
        }else {
            cn.hutool.json.JSONObject entries = (cn.hutool.json.JSONObject) lis.get(0);
            String tjNum = entries.getStr("tjNum");
            LtkjHysqd hysqd = new LtkjHysqd();
            TjOrder order = tjOrderService.getOrderByTjNum(tjNum);
            hysqd.setTjh(order.getCardId());
            String mzh = order.getCardId();
            LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>();
            queryWrapper.eq(LtkjJianchajianyanTree::getCardId, mzh);
            TjProject project = projectService.getById(tj.getStr("proId"));
            String xmdm = project.getHisXmbm();
            queryWrapper.eq(LtkjJianchajianyanTree::getType,"检验");
            queryWrapper.eq(LtkjJianchajianyanTree::getHisXmdm,xmdm);
            LtkjJianchajianyanTree tree = ltkjJianchajianyanTreeService.getOne(queryWrapper);
            if (tree == null) {
                tree = new LtkjJianchajianyanTree();
                tree.setHisXmdm(xmdm);
                tree.setCreateTime(new Date());
                String sqdh = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + String.valueOf(RandomUtil.randomInt(0, 99999));
                queryWrapper = new LambdaQueryWrapper<>();
                queryWrapper.eq(LtkjJianchajianyanTree::getSqdh,sqdh);
                if (ltkjJianchajianyanTreeService.getOne(queryWrapper) == null) {
                    tree.setSqdh(sqdh);
                }else {
                    while (true){
                        sqdh = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + String.valueOf(RandomUtil.randomInt(0, 99999));
                        queryWrapper = new LambdaQueryWrapper<>();
                        queryWrapper.eq(LtkjJianchajianyanTree::getSqdh,sqdh);
                        if (ltkjJianchajianyanTreeService.getOne(queryWrapper) == null) {
                            tree.setSqdh(sqdh);
                            break;
                        }
                    }
                }
            }
            String tmh = tree.getSqdh()+"_"+tree.getHisXmdm();
            String shys = "";
            for (Object o : lis) {
                cn.hutool.json.JSONObject jsonObject = (cn.hutool.json.JSONObject) o;
                if (StrUtil.isNotBlank(jsonObject.getStr("jyxh"))) tmh = jsonObject.getStr("jyxh");
                if (StrUtil.isNotBlank(jsonObject.getStr("shys"))) shys = jsonObject.getStr("shys");
                if (StrUtil.isNotBlank(tmh) && StrUtil.isNotBlank(shys) && StrUtil.isNotBlank(jsonObject.getStr("jyxh"))) break;
            }
            hysqd.setTmh(tmh);
//            if (StrUtil.isNotBlank(xmdm)) {
//                hysqd.setXmid(xmdm);
//                hysqd.setXmmc(project.getHisXmmc());
//            }else {
//                hysqd.setXmid(String.valueOf(project.getProId()));
//                hysqd.setXmmc(project.getProName());
//            }
            hysqd.setXmid(project.getProId().toString());
            hysqd.setXmmc(project.getProName());
            hysqd.setSqsj(format.format(tree.getCreateTime()));
            hysqd.setJgsj(format.format(new Date()));
            hysqd.setShrxm(shys);
//            hysqd.setBbmc();
            hysqdService.deletedByTjhAndXmId(hysqd.getTjh(),hysqd.getXmid());
            hybgdService.deletedLtkjHybgdByTjhAndTmh(tree.getSqdh()+"_"+tree.getHisXmdm());
            hysqdService.save(hysqd);
            for (Object object : lis) {
                cn.hutool.json.JSONObject jsonObject = (cn.hutool.json.JSONObject) object;
                LtkjHybgd hybgd = new LtkjHybgd();
                hybgd.setTmh(tree.getSqdh()+"_"+tree.getHisXmdm());
                hybgd.setJcxmid(jsonObject.getStr("jcxmid"));
                hybgd.setJcxm(jsonObject.getStr("proName"));
                hybgd.setJyjg(jsonObject.getStr("proResult"));
                hybgd.setJgdw(jsonObject.getStr("company"));
                String tjStandardGtValue = jsonObject.getStr("tjStandardGtValue");
                String zdz = "";
                String zxz = "";
                if (tjStandardGtValue.contains("-")){
                    String[] split = tjStandardGtValue.split("-");
                    zxz = split[0].trim();
                    zdz = split[1].trim();
                }
                hybgd.setFwzdz(zdz);
                hybgd.setFwzgz(zxz);
                hybgd.setFwz(tjStandardGtValue);
                hybgd.setJysj(jsonObject.getStr("examinationDate"));
                hybgd.setShsj(jsonObject.getStr("examinationDate"));
                hybgd.setJyys(jsonObject.getStr("checkDoctorName"));
                hybgd.setShysmc(shys);
                hybgd.setYcbz(jsonObject.getStr("ycbz"));
                hybgdService.save(hybgd);
            }
            try {
                testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
            }catch (Exception e){
                log.error(String.valueOf(e));
                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                return AjaxResult.error("同步失败请重试");
            }
            return AjaxResult.success();
        } catch (NoTransactionException e) {
            log.error(String.valueOf(e));
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return AjaxResult.error("同步失败请重试");
        }
    }
ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjProAdvicerules.java
@@ -132,6 +132,8 @@
    @ExcelImport(value = "是否重大疾病", kv = "Y-✓")
    private String sfzdjb;
    private String xb;
    @Override
    public String toString() {
ltkj-hosp/src/main/resources/mapper/hosp/TjProAdvicerulesMapper.xml
@@ -5,231 +5,264 @@
<mapper namespace="com.ltkj.hosp.mapper.TjProAdvicerulesMapper">
    <resultMap type="TjProAdvicerules" id="TjProAdvicerulesResult">
            <result property="id" column="id"/>
            <result property="bm" column="bm"/>
            <result property="ks" column="ks"/>
            <result property="jcxm" column="jcxm"/>
            <result property="zyzd" column="zyzd"/>
            <result property="jymc" column="jymc"/>
            <result property="jynr" column="jynr"/>
            <result property="fwz" column="fwz"/>
            <result property="fwzxz" column="fwzxz"/>
            <result property="fwzdz" column="fwzdz"/>
            <result property="ycbz" column="ycbz"/>
            <result property="sfjb" column="sfjb"/>
            <result property="sfcjb" column="sfcjb"/>
            <result property="sfmxb" column="sfmxb"/>
            <result property="sfzdjb" column="sfzdjb"/>
            <result property="createTime" column="create_time"/>
            <result property="updateTime" column="update_time"/>
            <result property="createBy" column="create_by"/>
            <result property="updateBy" column="update_by"/>
            <result property="deleted" column="deleted"/>
        <result property="id" column="id"/>
        <result property="bm" column="bm"/>
        <result property="ks" column="ks"/>
        <result property="jcxm" column="jcxm"/>
        <result property="zyzd" column="zyzd"/>
        <result property="jymc" column="jymc"/>
        <result property="jynr" column="jynr"/>
        <result property="fwz" column="fwz"/>
        <result property="fwzxz" column="fwzxz"/>
        <result property="fwzdz" column="fwzdz"/>
        <result property="ycbz" column="ycbz"/>
        <result property="sfjb" column="sfjb"/>
        <result property="sfcjb" column="sfcjb"/>
        <result property="sfmxb" column="sfmxb"/>
        <result property="sfzdjb" column="sfzdjb"/>
        <result property="createTime" column="create_time"/>
        <result property="updateTime" column="update_time"/>
        <result property="createBy" column="create_by"/>
        <result property="updateBy" column="update_by"/>
        <result property="deleted" column="deleted"/>
        <result property="xb" column="xb"/>
    </resultMap>
    <sql id="selectTjProAdvicerulesVo">
        select id, bm, ks, jcxm, zyzd, jymc, jynr, fwz, fwzxz, fwzdz, ycbz, sfjb, sfcjb, sfmxb, sfzdjb, create_time, update_time, create_by, update_by, deleted
        select id,
               bm,
               ks,
               jcxm,
               zyzd,
               jymc,
               jynr,
               fwz,
               fwzxz,
               fwzdz,
               ycbz,
               sfjb,
               sfcjb,
               sfmxb,
               sfzdjb,
               create_time,
               update_time,
               create_by,
               update_by,
               deleted,
               xb
        from tj_pro_advicerules
    </sql>
    <select id="selectTjProAdvicerulesList" parameterType="TjProAdvicerules" resultMap="TjProAdvicerulesResult">
        <include refid="selectTjProAdvicerulesVo"/>
        <where>
                        <if test="bm != null  and bm != ''">
                            and bm like concat('%', #{bm}, '%')
                        </if>
                        <if test="ks != null  and ks != ''">
                            and ks like concat('%', #{ks}, '%')
                        </if>
                        <if test="jcxm != null  and jcxm != ''">
                            and jcxm like concat('%', #{jcxm}, '%')
                        </if>
                        <if test="zyzd != null  and zyzd != ''">
                            and zyzd like concat('%', #{zyzd}, '%')
                        </if>
                        <if test="jymc != null  and jymc != ''">
                            and jymc like concat('%', #{jymc}, '%')
                        </if>
                        <if test="jynr != null  and jynr != ''">
                            and jynr like concat('%', #{jynr}, '%')
                        </if>
                        <if test="sfjb != null  and sfjb != ''">
                            and sfjb = #{sfjb}
                        </if>
                        <if test="sfcjb != null  and sfcjb != ''">
                            and sfcjb = #{sfcjb}
                        </if>
                        <if test="sfmxb != null  and sfmxb != ''">
                            and sfmxb = #{sfmxb}
                        </if>
                        <if test="sfzdjb != null  and sfzdjb != ''">
                            and sfzdjb = #{sfzdjb}
                        </if>
            <if test="bm != null  and bm != ''">
                and bm like concat('%', #{bm}, '%')
            </if>
            <if test="ks != null  and ks != ''">
                and ks like concat('%', #{ks}, '%')
            </if>
            <if test="jcxm != null  and jcxm != ''">
                and jcxm like concat('%', #{jcxm}, '%')
            </if>
            <if test="zyzd != null  and zyzd != ''">
                and zyzd like concat('%', #{zyzd}, '%')
            </if>
            <if test="jymc != null  and jymc != ''">
                and jymc like concat('%', #{jymc}, '%')
            </if>
            <if test="jynr != null  and jynr != ''">
                and jynr like concat('%', #{jynr}, '%')
            </if>
            <if test="sfjb != null  and sfjb != ''">
                and sfjb = #{sfjb}
            </if>
            <if test="sfcjb != null  and sfcjb != ''">
                and sfcjb = #{sfcjb}
            </if>
            <if test="sfmxb != null  and sfmxb != ''">
                and sfmxb = #{sfmxb}
            </if>
            <if test="sfzdjb != null  and sfzdjb != ''">
                and sfzdjb = #{sfzdjb}
            </if>
            <if test="xb != null  and xb != ''">
                and xb = #{xb}
            </if>
        </where>
        ORDER BY ks
    </select>
    <select id="selectTjProAdvicerulesById" parameterType="Long"
            resultMap="TjProAdvicerulesResult">
            <include refid="selectTjProAdvicerulesVo"/>
            where id = #{id}
        <include refid="selectTjProAdvicerulesVo"/>
        where id = #{id}
    </select>
    <insert id="insertTjProAdvicerules" parameterType="TjProAdvicerules">
        insert into tj_pro_advicerules
        <trim prefix="(" suffix=")" suffixOverrides=",">
                    <if test="id != null">id,
                    </if>
                    <if test="bm != null">bm,
                    </if>
                    <if test="ks != null">ks,
                    </if>
                    <if test="jcxm != null">jcxm,
                    </if>
                    <if test="zyzd != null">zyzd,
                    </if>
                    <if test="jymc != null">jymc,
                    </if>
                    <if test="jynr != null">jynr,
                    </if>
                    <if test="fwz != null">fwz,
                    </if>
                    <if test="fwzxz != null">fwzxz,
                    </if>
                    <if test="fwzdz != null">fwzdz,
                    </if>
                    <if test="ycbz != null">ycbz,
                    </if>
                    <if test="sfjb != null">sfjb,
                    </if>
                    <if test="sfcjb != null">sfcjb,
                    </if>
                    <if test="sfmxb != null">sfmxb,
                    </if>
                    <if test="sfzdjb != null">sfzdjb,
                    </if>
                    <if test="createTime != null">create_time,
                    </if>
                    <if test="updateTime != null">update_time,
                    </if>
                    <if test="createBy != null">create_by,
                    </if>
                    <if test="updateBy != null">update_by,
                    </if>
                    <if test="deleted != null">deleted,
                    </if>
            <if test="id != null">id,
            </if>
            <if test="bm != null">bm,
            </if>
            <if test="ks != null">ks,
            </if>
            <if test="jcxm != null">jcxm,
            </if>
            <if test="zyzd != null">zyzd,
            </if>
            <if test="jymc != null">jymc,
            </if>
            <if test="jynr != null">jynr,
            </if>
            <if test="fwz != null">fwz,
            </if>
            <if test="fwzxz != null">fwzxz,
            </if>
            <if test="fwzdz != null">fwzdz,
            </if>
            <if test="ycbz != null">ycbz,
            </if>
            <if test="sfjb != null">sfjb,
            </if>
            <if test="sfcjb != null">sfcjb,
            </if>
            <if test="sfmxb != null">sfmxb,
            </if>
            <if test="sfzdjb != null">sfzdjb,
            </if>
            <if test="createTime != null">create_time,
            </if>
            <if test="updateTime != null">update_time,
            </if>
            <if test="createBy != null">create_by,
            </if>
            <if test="updateBy != null">update_by,
            </if>
            <if test="deleted != null">deleted,
            </if>
            <if test="xb != null">xb,
            </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
                    <if test="id != null">#{id},
                    </if>
                    <if test="bm != null">#{bm},
                    </if>
                    <if test="ks != null">#{ks},
                    </if>
                    <if test="jcxm != null">#{jcxm},
                    </if>
                    <if test="zyzd != null">#{zyzd},
                    </if>
                    <if test="jymc != null">#{jymc},
                    </if>
                    <if test="jynr != null">#{jynr},
                    </if>
                    <if test="fwz != null">#{fwz},
                    </if>
                    <if test="fwzxz != null">#{fwzxz},
                    </if>
                    <if test="fwzdz != null">#{fwzdz},
                    </if>
                    <if test="ycbz != null">#{ycbz},
                    </if>
                    <if test="sfjb != null">#{sfjb},
                    </if>
                    <if test="sfcjb != null">#{sfcjb},
                    </if>
                    <if test="sfmxb != null">#{sfmxb},
                    </if>
                    <if test="sfzdjb != null">#{sfzdjb},
                    </if>
                    <if test="createTime != null">#{createTime},
                    </if>
                    <if test="updateTime != null">#{updateTime},
                    </if>
                    <if test="createBy != null">#{createBy},
                    </if>
                    <if test="updateBy != null">#{updateBy},
                    </if>
                    <if test="deleted != null">#{deleted},
                    </if>
            <if test="id != null">#{id},
            </if>
            <if test="bm != null">#{bm},
            </if>
            <if test="ks != null">#{ks},
            </if>
            <if test="jcxm != null">#{jcxm},
            </if>
            <if test="zyzd != null">#{zyzd},
            </if>
            <if test="jymc != null">#{jymc},
            </if>
            <if test="jynr != null">#{jynr},
            </if>
            <if test="fwz != null">#{fwz},
            </if>
            <if test="fwzxz != null">#{fwzxz},
            </if>
            <if test="fwzdz != null">#{fwzdz},
            </if>
            <if test="ycbz != null">#{ycbz},
            </if>
            <if test="sfjb != null">#{sfjb},
            </if>
            <if test="sfcjb != null">#{sfcjb},
            </if>
            <if test="sfmxb != null">#{sfmxb},
            </if>
            <if test="sfzdjb != null">#{sfzdjb},
            </if>
            <if test="createTime != null">#{createTime},
            </if>
            <if test="updateTime != null">#{updateTime},
            </if>
            <if test="createBy != null">#{createBy},
            </if>
            <if test="updateBy != null">#{updateBy},
            </if>
            <if test="deleted != null">#{deleted},
            </if>
            <if test="xb != null">#{xb},
            </if>
        </trim>
    </insert>
    <update id="updateTjProAdvicerules" parameterType="TjProAdvicerules">
        update tj_pro_advicerules
        <trim prefix="SET" suffixOverrides=",">
                    <if test="bm != null">bm =
                        #{bm},
                    </if>
                    <if test="ks != null">ks =
                        #{ks},
                    </if>
                    <if test="jcxm != null">jcxm =
                        #{jcxm},
                    </if>
                    <if test="zyzd != null">zyzd =
                        #{zyzd},
                    </if>
                    <if test="jymc != null">jymc =
                        #{jymc},
                    </if>
                    <if test="jynr != null">jynr =
                        #{jynr},
                    </if>
                    <if test="fwz != null">fwz =
                        #{fwz},
                    </if>
                    <if test="fwzxz != null">fwzxz =
                        #{fwzxz},
                    </if>
                    <if test="fwzdz != null">fwzdz =
                        #{fwzdz},
                    </if>
                    <if test="ycbz != null">ycbz =
                        #{ycbz},
                    </if>
                    <if test="sfjb != null">sfjb =
                        #{sfjb},
                    </if>
                    <if test="sfcjb != null">sfcjb =
                        #{sfcjb},
                    </if>
                    <if test="sfmxb != null">sfmxb =
                        #{sfmxb},
                    </if>
                    <if test="sfzdjb != null">sfzdjb =
                        #{sfzdjb},
                    </if>
                    <if test="createTime != null">create_time =
                        #{createTime},
                    </if>
                    <if test="updateTime != null">update_time =
                        #{updateTime},
                    </if>
                    <if test="createBy != null">create_by =
                        #{createBy},
                    </if>
                    <if test="updateBy != null">update_by =
                        #{updateBy},
                    </if>
                    <if test="deleted != null">deleted =
                        #{deleted},
                    </if>
            <if test="bm != null">bm =
                #{bm},
            </if>
            <if test="ks != null">ks =
                #{ks},
            </if>
            <if test="jcxm != null">jcxm =
                #{jcxm},
            </if>
            <if test="zyzd != null">zyzd =
                #{zyzd},
            </if>
            <if test="jymc != null">jymc =
                #{jymc},
            </if>
            <if test="jynr != null">jynr =
                #{jynr},
            </if>
            <if test="fwz != null">fwz =
                #{fwz},
            </if>
            <if test="fwzxz != null">fwzxz =
                #{fwzxz},
            </if>
            <if test="fwzdz != null">fwzdz =
                #{fwzdz},
            </if>
            <if test="ycbz != null">ycbz =
                #{ycbz},
            </if>
            <if test="sfjb != null">sfjb =
                #{sfjb},
            </if>
            <if test="sfcjb != null">sfcjb =
                #{sfcjb},
            </if>
            <if test="sfmxb != null">sfmxb =
                #{sfmxb},
            </if>
            <if test="sfzdjb != null">sfzdjb =
                #{sfzdjb},
            </if>
            <if test="createTime != null">create_time =
                #{createTime},
            </if>
            <if test="updateTime != null">update_time =
                #{updateTime},
            </if>
            <if test="createBy != null">create_by =
                #{createBy},
            </if>
            <if test="updateBy != null">update_by =
                #{updateBy},
            </if>
            <if test="deleted != null">deleted =
                #{deleted},
            </if>
            <if test="xb != null">xb =
                #{xb},
            </if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteTjProAdvicerulesById" parameterType="Long">
        delete
        from tj_pro_advicerules where id = #{id}
        from tj_pro_advicerules
        where id = #{id}
    </delete>
    <delete id="deleteTjProAdvicerulesByIds" parameterType="String">