package thyyxxk.webserver.service.medicalinsurance; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import thyyxxk.webserver.dao.his.medicalinsurance.TSetlDeptConfDao; import thyyxxk.webserver.entity.querydata.TSetlDeptConf; import thyyxxk.webserver.service.wxapi.SendWxInfoService; import thyyxxk.webserver.utils.ListUtil; import thyyxxk.webserver.utils.StringUtil; import java.util.List; import java.util.stream.Collectors; /** *

* 结算单上传科室配置表 服务实现类 *

* * @author lihong * @since 2023-01-09 */ @Service public class TSetlDeptConfService extends ServiceImpl { @Autowired private SendWxInfoService sendWxInfoService; public List querySetlDeptConfInfo(TSetlDeptConf query) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq(StringUtil.notBlank(query.getCode()), "code", query.getCode()); queryWrapper.eq(query.getTypeFlag() != null,"type_flag" ,query.getTypeFlag()); return baseMapper.selectList(queryWrapper); } public void batchSaveData(List list) { baseMapper.batchSaveData(list); } /** * @description:给编码员发送消息 * @author: lihong * @date: 2023/1/10 9:33 * @param: deptCode * @param: name * @param: patNo **/ @Async public void asynSendAuditMessge(String deptCode,String deptName,String name,String patNo){ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("dept_code",deptCode); queryWrapper.eq("type_flag",1); List list = baseMapper.selectList(queryWrapper); List codeRs ; if(ListUtil.notBlank(list)){ List codes = list.stream().map(TSetlDeptConf::getCode).distinct().collect(Collectors.toList()); if(CollUtil.isEmpty(codes)) return; codeRs = baseMapper.getCodeRs(codes); }else { // 给所有的编码员发送消息 codeRs = baseMapper.getBmyCodeRs(); } if(CollUtil.isNotEmpty(codeRs)){ codeRs.forEach(code->{ sendWxInfoService.sendCorpWxMsg(code, String.format("医保结算单上传\n发起申请审核\n患者姓名:【%s】\n住院号:【%s】\n出院科室:【%s】", name,patNo,deptName)); }); } } }