赵文轩
2024-11-01 14f9208da19b7030a1c65a40897f9f4146a74d44
增加申请业务类型
8个文件已修改
153 ■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/domain/LtkjJianchajianyanTree.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/resources/mapper/LtkjJianchajianyanTreeMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
@@ -18,7 +18,7 @@
import com.ltkj.web.controller.lis.LisApiMethod;
import com.ltkj.web.controller.pacs.PacsApiMethodService;
import com.ltkj.web.controller.service.TjSysAsyncServiceImpl;
import com.ltkj.web.controller.system.TjSamplingController;
import com.ltkj.web.controller.system.SamplingServiceApi;
import jdk.nashorn.internal.runtime.logging.Logger;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -81,7 +81,7 @@
    @Autowired
    private ITjSamplingService tjSamplingService;
    @Autowired
    private TjSamplingController samplingController;
    private SamplingServiceApi samplingService;
    //将方法返回值解析成json格式
@@ -276,6 +276,7 @@
                    String mxfyxmbm = detail.getMxfyxmbm();
                    tree.setHisXmdm(mxfyxmbm);
                    tree.setType("检验");
                    tree.setService("his");
                    tree.setTjPrice(String.valueOf(detail.getProjg()));
                    LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
                    if (detail.getSfzhfy().equals("1"))
@@ -383,6 +384,7 @@
                    String mxfyxmbm = detail.getMxfyxmbm();
                    tree.setHisXmdm(mxfyxmbm);
                    tree.setType("检查");
                    tree.setService("his");
                    tree.setTjPrice(String.valueOf(detail.getProjg()));
                    LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
                    if (detail.getSfzhfy().equals("1"))
@@ -585,7 +587,8 @@
            LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
            wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber());
            List<TjSampling> list = tjSamplingService.list(wrapper);
//            log.info("采样数据 ->{}",list);
            log.info("采样数据 ->{}",list);
            if (!list.isEmpty()) {
            Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode));
//            log.info("分组后 ->{}",JSONUtil.toJsonStr(listMap));
            ArrayList<String> ids = new ArrayList<>();
@@ -611,10 +614,11 @@
                    ids.add(samplings.get(0).getId());
                }
            }
            Boolean confirmed = samplingController.confirmSamplingApi(ids, "Y", "Y");
                Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N");
            if (!confirmed){
                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                return AjaxResult.error("处理失败");
                }
            }
        }
@@ -817,17 +821,34 @@
                    }
                }
            }
            // 作废检验申请
            // 作废检验申请 TODO
            if (jysqdh != null && !jysqdh.isEmpty()){
                for (String sqdh : jysqdh) {
                List<String> huoQuJysqdhNotBuLu = orderService.getHuoQuJysqdhNotBuLu(order.getCardId());
                List<String> huoQuJysqdhBuLu = orderService.getHuoQuJysqdhBuLu(order.getCardId());
                for (String sqdh : huoQuJysqdhNotBuLu) {
                    AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName());
                    log.info("lis请求返回 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult));
                    if (cancelLisAjaxResult.get("code").toString().equals("200")){
                    String result = cancelLisAjaxResult.get("data").toString();
                    JSONObject object = JSONUtil.parseObj(result);
                    String code= object.getStr("ResultCode");
                    if(code.equals("1")){
                        orderService.delHuoQuJysqdh(order.getCardId());
                    }
                    } else {
                        String str = JSONUtil.parseObj(cancelLisAjaxResult.get("result").toString()).getJSONObject("Response").getStr("ResultContent");
                        if (str.contains("申请已作废"))
                            orderService.delHuoQuJysqdh(order.getCardId());
                    }
                }
                for (String s : huoQuJysqdhBuLu) {
                    ajaxResult = controller.Outpindeltestapply(order.getCardId(), "00029", s);
                    result2 = getAjaxResult(ajaxResult);
                    object1 = getJSONObject(result2);
                    code1 = object1.getStr("ResultCode");
                    if (code1.equals("0")) {
                        orderService.delHuoQuJysqdh(order.getCardId());
                    }
                }
            }
ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java
@@ -290,6 +290,7 @@
                String mxfyxmbm = detail.getMxfyxmbm();
                tree.setHisXmdm(mxfyxmbm);
                tree.setType("检验");
                tree.setService("lis");
                tree.setTjPrice(String.valueOf(detail.getProjg()));
                LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
                if (detail.getSfzhfy().equals("1"))
ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java
@@ -87,16 +87,15 @@
        hashMap.put("examNo", examNo);
        hashMap.put("name", name);
        log.info("作废检查 ->{}", JSONUtil.toJsonStr(hashMap));
        // TODO 暂不发出pacs请求
//        return getMethodService.getPacsData("updatePacsApply", hashMap);
        JSONObject object = JSONUtil.createObj();
        object.putOpt("ResultCode","1");
        return AjaxResult.success().put("data",JSONUtil.toJsonStr(object));
        return getMethodService.getPacsData("updatePacsApply", hashMap);
//        JSONObject object = JSONUtil.createObj();
//        object.putOpt("ResultCode","1");
//        return AjaxResult.success().put("data",JSONUtil.toJsonStr(object));
    }
    public Boolean save(TjOrder tjOrder, TjCustomer tjCustomer, List<TbTransition> detailList) {
        if (true)
            return true;
//        if (true)
//            return true;
        JSONArray array = JSONUtil.createArray();
        ArrayList<SavePacsApply> errorPacsList = new ArrayList<>();
        ArrayList<SavePacsApply> successPacsList = new ArrayList<>();
@@ -142,7 +141,7 @@
                        savePacsApply.setCardNumber(tjCustomer.getCusIdcard());
                        savePacsApply.setTel(tjCustomer.getCusPhone());
                        Date date = new Date();
                        String regNo = "jk" + DateFormatUtils.format(date, "yyyyMMddHHmmss")+ StrUtil.subSuf(tjOrder.getCardId(),4) + project.getHisXmbm();
                        String regNo = "M_jk" + tjOrder.getCardId() +"_" + project.getHisXmbm();
                        savePacsApply.setRegNo(regNo);
                        JSONObject jsonObject = JSONUtil.createObj();
                        jsonObject.putOpt("cardId", tjOrder.getCardId());
@@ -152,7 +151,7 @@
                        savePacsApply.setCheckItemID(project.getHisXmbm());
                        savePacsApply.setCheckItem(project.getHisXmmc());
                        // TODO 检查部位
                        savePacsApply.setCheckPosition("");
                        savePacsApply.setCheckPosition("-");
                        savePacsApply.setAmount(project.getProPrice());
                        savePacsApply.setApplyDate(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss"));
                        savePacsApply.setApplyDepment("0101");
@@ -163,13 +162,14 @@
                        savePacsApply.setExecDepmentName("体检中心");
                        savePacsApply.setCreateTime(savePacsApply.getApplyDate());
                        // TODO 检查设备
                        savePacsApply.setDevice("");
                        savePacsApply.setDevice("-");
                        // TODO 检查设备类型
                        savePacsApply.setDeviceType("");
                        savePacsApply.setDeviceType("-");
                        log.info("PACS检查申请 ->{}", JSONUtil.toJsonStr(savePacsApply));
                        AjaxResult ajaxResult = savePacsApply(savePacsApply);
                        log.info("返回 ->{}",JSONUtil.toJsonStr(ajaxResult));
                        String result = ajaxResult.get("data").toString();
                        JSONObject object = JSONUtil.parseObj(JSONUtil.parseObj(result).getStr("Response"));
                        JSONObject object = JSONUtil.parseObj(JSONUtil.parseObj(result));
                        log.info("PACS请求返回 ->{}", object);
                        String code = object.getStr("ResultCode");
                        allTotal++;
@@ -182,6 +182,7 @@
                            tree.setFyhj(String.valueOf(project.getProPrice()));
                            tree.setHisXmdm(project.getHisXmbm());
                            tree.setType("检查");
                            tree.setService("pacs");
                            tree.setTjPrice(String.valueOf(project.getProPrice()));
                            LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
                            if (project.getSfzhfy().equals("Y"))
ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -12,7 +12,6 @@
import com.ltkj.common.core.domain.entity.SysUser;
import com.ltkj.common.core.redis.RedisCache;
import com.ltkj.common.utils.IdUtils;
import com.ltkj.common.utils.SecurityUtils;
import com.ltkj.common.utils.StringUtils;
import com.ltkj.framework.config.MatchUtils;
import com.ltkj.hosp.domain.*;
@@ -27,12 +26,11 @@
import com.ltkj.system.service.ISysConfigService;
import com.ltkj.system.service.ISysDeptService;
import com.ltkj.system.service.ISysUserService;
import com.ltkj.web.config.IdcardUtil.IdcardUtil;
import com.ltkj.web.controller.his.HisApiGetMethodService;
import com.ltkj.web.controller.his.HisApiMethodService;
import com.ltkj.web.controller.lis.LisApiMethod;
import com.ltkj.web.controller.pacs.PacsApiMethodService;
import com.ltkj.web.controller.system.TjOrderController;
import com.ltkj.web.controller.system.SamplingServiceApi;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
@@ -150,6 +148,8 @@
    private LtkjJybbzdService jybbzdService;
    @Autowired
    private LisJyflhbService lisJyflhbService;
    @Autowired
    private SamplingServiceApi samplingServiceApi;
    @Override
@@ -576,9 +576,9 @@
    }
    @Override
    @Async("async")
//    @Async("async")
//    @Transactional
    public void iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser) {
    public Boolean iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser) {
        Date dates = new Date();
        final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
@@ -995,13 +995,18 @@
//                }
            }
            // TODO 和签到登记一样 只有配置中的以及收费类型为体检票时才增加到采样管理表
            if (lisApiMethod.isUseLisAndPacsRegister(order) && tjFlowingWater.getPayType() == 6L) {
            List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(),jxbz);
            addCaiYangDengJi(detailLists,!detailLists.isEmpty(), order, sysUser,jxbz);
            }
        }
//        Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
        if(null !=config && config.equals("Y")){
            tijianbulushenqing(customer,date,order.getCardId(),jxbz,jianChaProjects);
            AjaxResult result = tijianbulushenqing(customer, date, order.getCardId(), jxbz, jianChaProjects, tjFlowingWater.getPayType() == 6L);
            if (!result.get("code").toString().equals("200"))
                return false;
//            if (useLisAndPacsRegister) {
//                List<TjProject> projectList2 = jianYanProjects.stream().distinct().collect(Collectors.toList());
                // 检查申请
@@ -1268,19 +1273,54 @@
//            tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId()));
//            chargingStandardService.save(tjChargingStandard);
//        }
        return true;
    }
    //体检对his申请单调用方法
    public AjaxResult tijianbulushenqing(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects) {
    public AjaxResult tijianbulushenqing(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) {
        TjOrder order = orderService.getOrderByCardId(cardId);
        if(null !=order){
            List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(),cardId,jxbz);
            Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
            List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>();
            if (useLisAndPacsRegister) {
            if (useLisAndPacsRegister && isTuanTiPiao) {
                // 检查申请
                pacsReg(order, customer, jianChaProjects);
                LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
                wrapper.eq(TjSampling::getTjNum,order.getTjNumber());
                List<TjSampling> list = tjSamplingService.list(wrapper);
                log.info("采样数据 ->{}",list);
                if (!list.isEmpty()){
                    Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode));
                    log.info("分组后 ->{}",JSONUtil.toJsonStr(listMap));
                    ArrayList<String> ids = new ArrayList<>();
                    for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) {
                        log.info("key ->{},val ->{}",entry.getKey(),entry.getValue());
                        // Lis标本代码
                        String specimenTypeCode = entry.getKey();
                        List<TjSampling> samplings = entry.getValue();
                        if (samplings.size() > 1){
                            // 进行合并
                            List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
                            log.info("提取id ->{}",stringList);
                            for (int i = 0; i < stringList.size(); i++) {
                                String s = stringList.get(i);
                                if (tjSamplingService.isMergeItem(s) != 0) {
                                    stringList.remove(s);
                                    ids.add(s);
                                }
                            }
                            String id = tjSamplingService.mergeCaiYangApi(stringList);
                            ids.add(id);
                        }else {
                            ids.add(samplings.get(0).getId());
                        }
                    }
                    Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids, "Y", "N");
                    if (!confirmed)
                        return AjaxResult.error("处理失败");
                }
            }else {
                //检验申请
                OutpintestapplyDto dto = new OutpintestapplyDto();
@@ -1364,6 +1404,7 @@
                            String mxfyxmbm = detail.getMxfyxmbm();
                            tree.setHisXmdm(mxfyxmbm);
                            tree.setType("检验");
                            tree.setService("his");
                            tree.setTjPrice(String.valueOf(detail.getProjg()));
                            LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
                            if (detail.getSfzhfy().equals("1"))
@@ -1465,6 +1506,7 @@
                            String mxfyxmbm = detail.getMxfyxmbm();
                            tree.setHisXmdm(mxfyxmbm);
                            tree.setType("检查");
                            tree.setService("his");
                            tree.setTjPrice(String.valueOf(detail.getProjg()));
                            LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
                            if (detail.getSfzhfy().equals("1"))
ltkj-hosp/src/main/java/com/ltkj/hosp/domain/LtkjJianchajianyanTree.java
@@ -72,6 +72,8 @@
    private Date createTime;
    private String service;
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderMapper.java
@@ -247,6 +247,27 @@
    @Select("SELECT a.sqdh FROM ltkj_jianchajianyan_tree a WHERE a.card_id=#{cardId} AND a.type='检验' GROUP BY a.sqdh")
    List<String> getHuoQuJysqdh(String cardId);
    /**
     * 查询非补录项目
     * LIS作废查询
     * @param cardId
     * @return
     */
    @Select("SELECT a.sqdh FROM ltkj_jianchajianyan_tree a WHERE a.card_id= #{cardId} AND a.type='检验' AND a.jxbz IS NULL GROUP BY a.sqdh")
    List<String> getHuoQuJysqdhNotBuLu(String cardId);
    /**
     * 查询补录项目
     * LIS作废查询
     * @param cardId
     * @return
     */
    @Select("SELECT a.sqdh FROM ltkj_jianchajianyan_tree a WHERE a.card_id= #{cardId} AND a.type='检验' AND a.jxbz IS NOT NULL GROUP BY a.sqdh")
    List<String> getHuoQuJysqdhBuLu(String cardId);
    @Delete("DELETE FROM ltkj_jianchajianyan_tree WHERE card_id=#{cardId} AND type='检验'")
    Boolean delHuoQuJysqdh(String cardId);
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderServiceImpl.java
@@ -373,4 +373,14 @@
    public List<LtkjJianchajianyanTree> getBuLuXmXinXi(List<String> bldh,String cardId) {
        return tjOrderMapper.getBuLuXmXinXi(bldh,cardId);
    }
    @Override
    public List<String> getHuoQuJysqdhNotBuLu(String cardId) {
        return tjOrderMapper.getHuoQuJysqdhNotBuLu(cardId);
    }
    @Override
    public List<String> getHuoQuJysqdhBuLu(String cardId) {
        return tjOrderMapper.getHuoQuJysqdhBuLu(cardId);
    }
}
ltkj-hosp/src/main/resources/mapper/LtkjJianchajianyanTreeMapper.xml
@@ -14,11 +14,12 @@
            <result property="xmfl" column="xmfl" jdbcType="VARCHAR"/>
            <result property="type" column="type" jdbcType="VARCHAR"/>
            <result property="pationid" column="pationId" jdbcType="VARCHAR"/>
            <result property="service" column="service" jdbcType="VARCHAR"/>
    </resultMap>
    <sql id="Base_Column_List">
        id,his_xmdm,card_id,
        sqdh,tj_price,fyhj,
        xmfl,type,pationId
        xmfl,type,pationId,service
    </sql>
</mapper>