| | |
| | | package com.ltkj.web.controller.system; |
| | | |
| | | import java.io.*; |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.json.JSONArray; |
| | | import cn.hutool.json.JSONObject; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.google.common.base.Joiner; |
| | | import com.ltkj.common.core.domain.TreeSelect; |
| | | import com.ltkj.common.core.domain.entity.SysRole; |
| | | import com.ltkj.common.core.domain.entity.SysUser; |
| | | import com.ltkj.common.core.redis.RedisCache; |
| | | import com.ltkj.common.core.text.Convert; |
| | | import com.ltkj.common.utils.SecurityUtils; |
| | | import com.ltkj.common.utils.bean.BeanUtils; |
| | | import com.ltkj.framework.config.MatchUtils; |
| | | import com.ltkj.hosp.domain.*; |
| | | import com.ltkj.hosp.mapper.TestMapper; |
| | | import com.ltkj.hosp.service.*; |
| | | import com.ltkj.system.domain.SysPost; |
| | | import com.ltkj.system.domain.SysUserPost; |
| | | import com.ltkj.system.service.ISysPostService; |
| | | import com.ltkj.system.service.ISysUserPostService; |
| | | import com.ltkj.system.service.ISysUserService; |
| | | import com.ltkj.system.service.*; |
| | | import com.ltkj.web.controller.his.HisApiGetMethodService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.ArrayUtils; |
| | | import org.apache.ibatis.jdbc.Null; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | import com.ltkj.common.core.domain.entity.SysDept; |
| | | import com.ltkj.common.enums.BusinessType; |
| | | import com.ltkj.common.utils.StringUtils; |
| | | import com.ltkj.system.service.ISysDeptService; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | |
| | | @RestController |
| | | @RequestMapping("/system/dept") |
| | | @Api(tags = "科室部门信息") |
| | | @Slf4j |
| | | public class SysDeptController extends BaseController implements Serializable { |
| | | @Resource |
| | | private ISysDeptService deptService; |
| | |
| | | private ITjRulesService tjRulesService; |
| | | @Autowired |
| | | public RedisTemplate<Object,Object> redisTemplate; |
| | | @Resource |
| | | private TestMapper testMapper; |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | @Autowired |
| | | private ITjFlowingWaterService tjFlowingWaterService; |
| | | @Autowired |
| | | private HisApiGetMethodService hisApiGetMethodService; |
| | | @Autowired |
| | | private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService; |
| | | |
| | | |
| | | @GetMapping("/getdangqiandengluyuanqu") |
| | | @ApiOperation("获取当前登录人对应的院区名") |
| | | public AjaxResult getdangqiandengluyuanqu() { |
| | | Long deptId = SecurityUtils.getDeptId(); |
| | | if(null !=deptId){ |
| | | SysDept dept = deptService.getById(deptId); |
| | | if(null !=dept){ |
| | | String hospName = dept.getHospName(); |
| | | return AjaxResult.success(hospName); |
| | | } |
| | | } |
| | | |
| | | |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | /** |
| | | * 该体检科室下客户列表显示接口 |
| | |
| | | return AjaxResult.error("请输入科室id"); |
| | | } |
| | | //根据当前登陆的人的科室id,获取该科室下的所有项目 |
| | | // TODO: 2023/3/24 给超级管理员赋医生检查权限 |
| | | List<Long> postIds = sysUser.getPostIds(); |
| | | List<Long> ksproList = null; |
| | | if (postIds != null) { |
| | |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | for (TjOrderRemark remark : list) { |
| | | TjProject byId = projectService.getById(remark.getProId()); |
| | | stringBuilder.append(byId.getProName()).append(";"); |
| | | if(null !=byId){ |
| | | stringBuilder.append(byId.getProName()).append(";"); |
| | | } |
| | | } |
| | | customer.setNotCheckeds(String.valueOf(stringBuilder)); |
| | | if (null == customer.getNotCheckeds()) customer.setNotCheckeds("全部已检"); |
| | |
| | | * 化验检查页面列表 |
| | | */ |
| | | @GetMapping("/huaYangetProList") |
| | | @ApiOperation("影像/化验检查页面列表") |
| | | @ApiOperation("化验检查页面列表") |
| | | public AjaxResult huaYangetProList(@ApiParam(value = "体检单号") @RequestParam(required = false) String tjNumber, |
| | | @ApiParam(value = "0未检,1已检") @RequestParam(defaultValue = "0") Integer type, |
| | | @ApiParam(value = "姓名)") @RequestParam(required = false) String name, |
| | | @ApiParam(value = "页码数(默认1)") @RequestParam(defaultValue = "1") Integer page, |
| | | @ApiParam(value = "显示条数(默认10)") @RequestParam(defaultValue = "10") Integer pageSize) { |
| | | String userId = SecurityUtils.getLoginUser().getUserId(); |
| | | Integer ksId = null; |
| | | SysUser sysUser = null; |
| | | if (null != userId) { |
| | | sysUser = userService.getById(Long.valueOf(userId)); |
| | | if (null != sysUser) { |
| | | ksId = Math.toIntExact(sysUser.getDeptId()); |
| | | } |
| | | } |
| | | if (ksId == null) { |
| | | return AjaxResult.error("请输入科室id"); |
| | | } |
| | | // String userId = SecurityUtils.getLoginUser().getUserId(); |
| | | // Integer ksId = null; |
| | | // SysUser sysUser = null; |
| | | // if (null != userId) { |
| | | // sysUser = userService.getById(Long.valueOf(userId)); |
| | | // if (null != sysUser) { |
| | | // ksId = Math.toIntExact(sysUser.getDeptId()); |
| | | // } |
| | | // } |
| | | // if (ksId == null) { |
| | | // return AjaxResult.error("请输入科室id"); |
| | | // } |
| | | |
| | | //A30化验 |
| | | //根据当前登陆的人的科室id,获取该科室下的所有项目 |
| | | // TODO: 2023/3/24 给超级管理员赋医生检查权限 |
| | | List<Long> postIds = sysUser.getPostIds(); |
| | | // List<Long> postIds = sysUser.getPostIds(); |
| | | List<Long> ksproList = null; |
| | | if (postIds != null) { |
| | | for (Long postId : postIds) { |
| | | LambdaQueryWrapper<SysUserPost> wq111 = new LambdaQueryWrapper<>(); |
| | | wq111.eq(SysUserPost::getPostId, postId); |
| | | SysUserPost one = userPostService.getOne(wq111); |
| | | if (one != null) { |
| | | SysPost byId = postService.getById(one.getPostId()); |
| | | if (byId.getPostName().equals("录入员")) { |
| | | ksproList = projectService.getKsTjProjectIdListBydeptId(String.valueOf(ksId)); |
| | | } |
| | | } |
| | | } |
| | | } else { |
| | | ksproList = projectService.getKsTjProjectIdList(); |
| | | } |
| | | // if (postIds != null) { |
| | | // for (Long postId : postIds) { |
| | | // LambdaQueryWrapper<SysUserPost> wq111 = new LambdaQueryWrapper<>(); |
| | | // wq111.eq(SysUserPost::getPostId, postId); |
| | | // SysUserPost one = userPostService.getOne(wq111); |
| | | // if (one != null) { |
| | | // SysPost byId = postService.getById(one.getPostId()); |
| | | // if (byId.getPostName().equals("录入员")) { |
| | | // ksproList = projectService.getKsTjProjectIdListBydeptId(String.valueOf(ksId)); |
| | | // } |
| | | // } |
| | | // } |
| | | // } else { |
| | | // ksproList = projectService.getKsTjProjectIdList(); |
| | | // } |
| | | |
| | | // if(sysUser.getUserName().equals("10001")){ |
| | | ksproList = projectService.getHuaYanProId(); |
| | | // } |
| | | // else { |
| | | // ksproList = projectService.getKsTjProjectIdListBydeptId(String.valueOf(ksId)); |
| | | // } |
| | | |
| | | if (ksproList == null || ksproList.size() == 0) { |
| | | return AjaxResult.error("请完善科室项目信息"); |
| | | } |
| | | //筛选化验的项目。 |
| | | // ksproList = ksproList.stream() |
| | | // .filter(element -> element ==1633660948860522629L) |
| | | // .collect(Collectors.toList()); |
| | | |
| | | List<TjCustomer> customerLis = new ArrayList<>(); |
| | | |
| | | //根据体检号查 |
| | | /* //根据体检号查 |
| | | if (null != tjNumber) { |
| | | List<TjOrder> orderList = orderService.getOrderListByLikeTjNum(tjNumber); |
| | | if (null == orderList) { |
| | |
| | | return AjaxResult.success("暂无数据"); |
| | | } |
| | | } |
| | | List<TjCustomer> customerLists = new ArrayList<>(); |
| | | List<TjCustomer> customerLists = null;*/ |
| | | // //根据体检号查 |
| | | // if (null != tjNumber) { |
| | | // List<TjOrder> orderList = orderService.getOrderListByLikeTjNum(tjNumber); |
| | | // if (null == orderList) { |
| | | // return AjaxResult.success("暂时没有数据"); |
| | | // } |
| | | // for (TjOrder order : orderList) { |
| | | // List<TjOrderDetail> list = Optional.ofNullable(detailService.getTjOrderDetailListByOrderId(String.valueOf(order.getOrderId()))).get(); |
| | | // if (list.size() == 0) { |
| | | // continue; |
| | | // } |
| | | // LambdaQueryWrapper<TjOrderRemark> wqs = new LambdaQueryWrapper<>(); |
| | | // wqs.eq(TjOrderRemark::getTjNumber, order.getTjNumber()); |
| | | // wqs.in(TjOrderRemark::getType, 0,3); |
| | | // List<TjOrderRemark> lists = remarkService.list(wqs); |
| | | // TjCustomer customer = customerService.getById(order.getUserId()); |
| | | // |
| | | // //遍历项目 判断是否有重大阳性 标记 |
| | | // for (TjOrderDetail tjOrderDetail11 : list) { |
| | | // customer.setIsPositive(tjOrderDetail11.getIsPositive()); |
| | | // if (tjOrderDetail11.getIsPositive()==1){ |
| | | // break; |
| | | // } |
| | | // } |
| | | // |
| | | // customer.setCusName(MatchUtils.hideCusName(customer.getCusName())); |
| | | // customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); |
| | | // customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard())); |
| | | // if (null != lists && lists.size() > 0) { |
| | | // StringBuilder stringBuilder = new StringBuilder(); |
| | | // for (TjOrderRemark remark : lists) { |
| | | // TjProject byId = projectService.selectTjProjectByProId(remark.getProId()); |
| | | // TjOrderDetail one = detailService.getTjOrderDetailByOrderId(String.valueOf(order.getOrderId()), String.valueOf(byId.getProId())); |
| | | // if (one.getFlowingWaterId() != null) { |
| | | // stringBuilder.append(byId.getProName()).append(";"); |
| | | // } |
| | | // |
| | | // } |
| | | // customer.setNotCheckeds(String.valueOf(stringBuilder)); |
| | | // customer.setTjStatus(0L); |
| | | // } else { |
| | | // customer.setTjStatus(1L); |
| | | // customer.setNotCheckeds("无"); |
| | | // } |
| | | // if (order.getTjType().equals("1")) { |
| | | // customer.setTjType("团体"); |
| | | // } |
| | | // if (order.getTjType().equals("2")) { |
| | | // customer.setTjType("个人"); |
| | | // } |
| | | // customer.setTjTime(order.getCreateTime()); |
| | | // customer.setTjNumber(order.getTjNumber()); |
| | | // customer.setOrderId(order.getOrderId()); |
| | | // customer.setIsHz(order.getIsHz()); |
| | | // customer.setTjCategory(order.getTjCategory()); |
| | | // customerLis.add(customer); |
| | | // } |
| | | // if (customerLis.size() > 0) { |
| | | // List<TjCustomer> customerList = customerLis.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); |
| | | // Collections.reverse(customerList); |
| | | // Map<String, Object> map = new HashMap<>(); |
| | | // map.put("date", customerList); |
| | | // map.put("total", customerLis.size()); |
| | | // return AjaxResult.success(map); |
| | | // } else { |
| | | // return AjaxResult.success("暂无数据"); |
| | | // } |
| | | // } |
| | | // |
| | | // //根据姓名查询 |
| | | // if (null != name && !"".equals(name)) { |
| | | // LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); |
| | | // wq.like(TjCustomer::getCusName, name); |
| | | // List<TjCustomer> list = customerService.list(wq); |
| | | // List<TjCustomer> list11111 = new ArrayList<>(); |
| | | // if (null != list && list.size() > 0) { |
| | | // for (TjCustomer customer : list) { |
| | | // customer.setCusName(MatchUtils.hideCusName(customer.getCusName())); |
| | | // customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); |
| | | // customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard())); |
| | | // List<TjOrder> orderList = orderService.getOrderListByCusId(String.valueOf(customer.getCusId())); |
| | | // if (null != orderList && orderList.size() > 0) { |
| | | // for (TjOrder order : orderList) { |
| | | // List<TjOrderDetail> list111 = Optional.ofNullable(detailService.getTjOrderDetailListByOrderId(String.valueOf(order.getOrderId()))).get(); |
| | | // if (list111.size() == 0) { |
| | | // continue; |
| | | // } |
| | | // //遍历项目 判断是否有重大阳性 标记 |
| | | // for (TjOrderDetail tjOrderDetail11 : list111) { |
| | | // customer.setIsPositive(tjOrderDetail11.getIsPositive()); |
| | | // if (tjOrderDetail11.getIsPositive()==1){ |
| | | // break; |
| | | // } |
| | | // } |
| | | // List<TjOrderRemark> lists = remarkService.getTjOrderRemarkListByYjNum(order.getTjNumber()); |
| | | // if (null != lists && lists.size() > 0) { |
| | | // StringBuilder stringBuilder = new StringBuilder(); |
| | | // for (TjOrderRemark remark : lists) { |
| | | // TjProject byId = projectService.selectTjProjectByProId(remark.getProId()); |
| | | // TjOrderDetail one = detailService.getTjOrderDetailByOrderId(String.valueOf(order.getOrderId()), String.valueOf(byId.getProId())); |
| | | // if (one.getFlowingWaterId() != null) { |
| | | // stringBuilder.append(byId.getProName()).append(";"); |
| | | // } |
| | | // } |
| | | // customer.setNotCheckeds(String.valueOf(stringBuilder)); |
| | | // if (null == customer.getNotCheckeds()) customer.setNotCheckeds("全部已检"); |
| | | // customer.setTjStatus(0L); |
| | | // } else { |
| | | // customer.setNotCheckeds("无"); |
| | | // customer.setTjStatus(1L); |
| | | // } |
| | | // if (order.getTjType().equals("1")) { |
| | | // customer.setTjType("团体"); |
| | | // } |
| | | // if (order.getTjType().equals("2")) { |
| | | // customer.setTjType("个人"); |
| | | // } |
| | | // customer.setTjTime(order.getCreateTime()); |
| | | // customer.setTjNumber(order.getTjNumber()); |
| | | // customer.setOrderId(order.getOrderId()); |
| | | // customer.setIsHz(order.getIsHz()); |
| | | // customer.setTjCategory(order.getTjCategory()); |
| | | // list11111.add(customer); |
| | | // } |
| | | // } |
| | | // } |
| | | // if (list11111.size() == 0) { |
| | | // return AjaxResult.success("暂无数据"); |
| | | // } |
| | | // Map<String, Object> map = new HashMap<>(); |
| | | // List<TjCustomer> customers = list11111.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); |
| | | // Collections.reverse(customers); |
| | | // map.put("customers", customers); |
| | | // map.put("total", list11111.size()); |
| | | // return AjaxResult.success(map); |
| | | // } else { |
| | | // return AjaxResult.success("暂无数据"); |
| | | // } |
| | | // } |
| | | // List<TjCustomer> customerLists = new ArrayList<>(); |
| | | |
| | | // String key="*"; |
| | | // if(sysUser.isAdmin()){ |
| | | // key="ks"+":*"; |
| | | // }else { |
| | | // key="ks:"+ksId+":*"; |
| | | // } |
| | | // ScanOptions options = ScanOptions.scanOptions() |
| | | // //这里指定每次扫描key的数量(很多博客瞎说要指定Integer.MAX_VALUE,这样的话跟 keys有什么区别?) |
| | | // .count(10000) |
| | | // .match(key).build(); |
| | | // RedisSerializer<String> redisSerializer = (RedisSerializer<String>) redisTemplate.getKeySerializer(); |
| | | // 0未检,1已检 |
| | | Map<String,Object> map=null; |
| | | if (type == 0) { |
| | | customerLists = redisCache.getCacheMapValue(ksId + "ks", "wj"); |
| | | // Cursor cursor = redisTemplate.executeWithStickyConnection(redisConnection -> new ConvertingCursor<>(redisConnection.scan(options), redisSerializer::deserialize)); |
| | | // List<TjCustomer> customers = new ArrayList<>(); |
| | | // while(cursor.hasNext()){ |
| | | // String s = cursor.next().toString(); |
| | | // TjCustomer wj = redisCache.getCacheMapValue(s,"0"); |
| | | // if(null !=wj){ |
| | | // customers.add(wj); |
| | | // } |
| | | // } |
| | | //// //切记这里一定要关闭,否则会耗尽连接数。报Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisException: Could not get a |
| | | // cursor.close(); |
| | | // customerLists = redisCache.getCacheMapValue(ksId + "ks", "wj"); |
| | | map = deptService.getSysDeptHyAndYxYjWjCustomerList13("A30", name, tjNumber, 0, page, pageSize); |
| | | // customerLists = customers; |
| | | } |
| | | if (type == 1) { |
| | | customerLists = redisCache.getCacheMapValue(ksId + "ks", "yj"); |
| | | // Cursor cursor = redisTemplate.executeWithStickyConnection(redisConnection -> new ConvertingCursor<>(redisConnection.scan(options), redisSerializer::deserialize)); |
| | | // List<TjCustomer> customers = new ArrayList<>(); |
| | | // while(cursor.hasNext()){ |
| | | // String s = cursor.next().toString(); |
| | | // TjCustomer wj = redisCache.getCacheMapValue(s,"1"); |
| | | // if(null !=wj){ |
| | | // customers.add(wj); |
| | | // } |
| | | // } |
| | | //// //切记这里一定要关闭,否则会耗尽连接数。报Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisException: Could not get a |
| | | // cursor.close(); |
| | | // customerLists = redisCache.getCacheMapValue(ksId + "ks", "yj"); |
| | | map = deptService.getSysDeptHyAndYxYjWjCustomerList13("A30", name, tjNumber, 1, page, pageSize); |
| | | // customerLists = customers; |
| | | } |
| | | asyncService.dockerSetCustomerLisByRedis(ksproList, String.valueOf(ksId)); |
| | | if (customerLists != null && customerLists.size() > 0) { |
| | | Collections.reverse(customerLists); |
| | | List<TjCustomer> customerList = customerLists.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("date", customerList); |
| | | map.put("total", customerLists.size()); |
| | | return AjaxResult.success(map); |
| | | } else { |
| | | AjaxResult map = getAjaxResult(type, page, pageSize, ksproList, customerLis); |
| | | if (map != null) return map; |
| | | return AjaxResult.success("暂时没有数据"); |
| | | } |
| | | // asyncService.dockerSetCustomerLisByRedis(ksproList, String.valueOf(ksId)); |
| | | // AjaxResult map = getAjaxResult(type, page, pageSize, ksproList, customerLis); |
| | | // if (map != null) return map; |
| | | return AjaxResult.success(map); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 影像检查页面列表 |
| | | */ |
| | | @GetMapping("/yingXiangGetProList") |
| | | @ApiOperation("影像检查页面列表") |
| | | public AjaxResult yingXiangGetProList(@ApiParam(value = "体检单号") @RequestParam(required = false) String tjNumber, |
| | | @ApiParam(value = "0未检,1已检") @RequestParam(defaultValue = "0") Integer type, |
| | | @ApiParam(value = "姓名)") @RequestParam(required = false) String name, |
| | | @ApiParam(value = "页码数(默认1)") @RequestParam(defaultValue = "1") Integer page, |
| | | @ApiParam(value = "显示条数(默认10)") @RequestParam(defaultValue = "10") Integer pageSize) { |
| | | /* String userId = SecurityUtils.getLoginUser().getUserId(); |
| | | Integer ksId = null; |
| | | SysUser sysUser = null; |
| | | if (null != userId) { |
| | | sysUser = userService.getById(Long.valueOf(userId)); |
| | | if (null != sysUser) { |
| | | ksId = Math.toIntExact(sysUser.getDeptId()); |
| | | } |
| | | } |
| | | if (ksId == null) { |
| | | return AjaxResult.error("请输入科室id"); |
| | | } |
| | | //根据当前登陆的人的科室id,获取该科室下的所有项目 |
| | | List<Long> postIds = sysUser.getPostIds(); |
| | | List<Long> ksproList = null; |
| | | if (postIds != null) { |
| | | for (Long postId : postIds) { |
| | | LambdaQueryWrapper<SysUserPost> wq111 = new LambdaQueryWrapper<>(); |
| | | wq111.eq(SysUserPost::getPostId, postId); |
| | | SysUserPost one = userPostService.getOne(wq111); |
| | | if (one != null) { |
| | | SysPost byId = postService.getById(one.getPostId()); |
| | | if (byId.getPostName().equals("录入员")) { |
| | | ksproList = projectService.getKsTjProjectIdListBydeptId(String.valueOf(ksId)); |
| | | |
| | | } |
| | | } |
| | | } |
| | | } else { |
| | | ksproList = projectService.getKsTjProjectIdList(); |
| | | } |
| | | //筛选影像的项目。 A32影像 |
| | | if (ksproList.size() == 0) { |
| | | return AjaxResult.error("请完善科室项目信息"); |
| | | } |
| | | ksproList = ksproList.stream() |
| | | .filter(element -> element ==1633660948860522589L |
| | | // || element ==1633660948860522504L |
| | | // || |
| | | // element ==1633660948860522507L|| element ==1633660948860522508L |
| | | // || |
| | | // element ==1633660948860522515L|| element ==1633660948860522516L |
| | | // || |
| | | // element ==1633660948860522517L|| element ==1633660948860522519L |
| | | // || |
| | | // element ==1633660948860522524L|| element ==1633660948860522530L |
| | | // || |
| | | // element ==1633660948860522531L|| element ==1633660948860522533L |
| | | ) |
| | | .collect(Collectors.toList());*/ |
| | | |
| | | |
| | | // List<Long> ksproList = projectService.getYingXiangProId(); |
| | | // List<TjCustomer> customerLis = new ArrayList<>(); |
| | | // |
| | | // //根据体检号查 |
| | | // if (null != tjNumber) { |
| | | // List<TjOrder> orderList = orderService.getOrderListByLikeTjNum(tjNumber); |
| | | // if (null == orderList) { |
| | | // return AjaxResult.success("暂时没有数据"); |
| | | // } |
| | | // for (TjOrder order : orderList) { |
| | | // List<TjOrderDetail> list = Optional.ofNullable(detailService.getTjOrderDetailListByOrderId(String.valueOf(order.getOrderId()))).get(); |
| | | // if (list.size() == 0) { |
| | | // continue; |
| | | // } |
| | | // LambdaQueryWrapper<TjOrderRemark> wqs = new LambdaQueryWrapper<>(); |
| | | // wqs.eq(TjOrderRemark::getTjNumber, order.getTjNumber()); |
| | | // wqs.in(TjOrderRemark::getType, 0,3); |
| | | // List<TjOrderRemark> lists = remarkService.list(wqs); |
| | | // TjCustomer customer = customerService.getById(order.getUserId()); |
| | | // //遍历项目 判断是否有重大阳性 标记 |
| | | // for (TjOrderDetail tjOrderDetail11 : list) { |
| | | // customer.setIsPositive(tjOrderDetail11.getIsPositive()); |
| | | // if (tjOrderDetail11.getIsPositive()==1){ |
| | | // break; |
| | | // } |
| | | // } |
| | | // customer.setCusName(MatchUtils.hideCusName(customer.getCusName())); |
| | | // customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); |
| | | // customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard())); |
| | | // if (null != lists && lists.size() > 0) { |
| | | // StringBuilder stringBuilder = new StringBuilder(); |
| | | // for (TjOrderRemark remark : lists) { |
| | | // TjProject byId = projectService.selectTjProjectByProId(remark.getProId()); |
| | | // TjOrderDetail one = detailService.getTjOrderDetailByOrderId(String.valueOf(order.getOrderId()), String.valueOf(byId.getProId())); |
| | | // if (one.getFlowingWaterId() != null) { |
| | | // stringBuilder.append(byId.getProName()).append(";"); |
| | | // } |
| | | // |
| | | // } |
| | | // customer.setNotCheckeds(String.valueOf(stringBuilder)); |
| | | // customer.setTjStatus(0L); |
| | | // } else { |
| | | // customer.setTjStatus(1L); |
| | | // customer.setNotCheckeds("无"); |
| | | // } |
| | | // if (order.getTjType().equals("1")) { |
| | | // customer.setTjType("团体"); |
| | | // } |
| | | // if (order.getTjType().equals("2")) { |
| | | // customer.setTjType("个人"); |
| | | // } |
| | | // customer.setTjTime(order.getCreateTime()); |
| | | // customer.setTjNumber(order.getTjNumber()); |
| | | // customer.setOrderId(order.getOrderId()); |
| | | // customer.setIsHz(order.getIsHz()); |
| | | // customerLis.add(customer); |
| | | // |
| | | // } |
| | | // if (customerLis.size() > 0) { |
| | | // List<TjCustomer> customerList = customerLis.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); |
| | | // Collections.reverse(customerList); |
| | | // Map<String, Object> map = new HashMap<>(); |
| | | // map.put("date", customerList); |
| | | // map.put("total", customerLis.size()); |
| | | // return AjaxResult.success(map); |
| | | // } else { |
| | | // return AjaxResult.success("暂无数据"); |
| | | // } |
| | | // } |
| | | // |
| | | // //根据姓名查询 |
| | | // if (null != name && !"".equals(name)) { |
| | | // LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); |
| | | // wq.like(TjCustomer::getCusName, name); |
| | | // List<TjCustomer> list = customerService.list(wq); |
| | | // List<TjCustomer> list11111 = new ArrayList<>(); |
| | | // if (null != list && list.size() > 0) { |
| | | // for (TjCustomer customer : list) { |
| | | // customer.setCusName(MatchUtils.hideCusName(customer.getCusName())); |
| | | // customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); |
| | | // customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard())); |
| | | // List<TjOrder> orderList = orderService.getOrderListByCusId(String.valueOf(customer.getCusId())); |
| | | // if (null != orderList && orderList.size() > 0) { |
| | | // for (TjOrder order : orderList) { |
| | | // List<TjOrderDetail> list111 = Optional.ofNullable(detailService.getTjOrderDetailListByOrderId(String.valueOf(order.getOrderId()))).get(); |
| | | // if (list111.size() == 0) { |
| | | // continue; |
| | | // } |
| | | // //遍历项目 判断是否有重大阳性 标记 |
| | | // for (TjOrderDetail tjOrderDetail11 : list111) { |
| | | // customer.setIsPositive(tjOrderDetail11.getIsPositive()); |
| | | // if (tjOrderDetail11.getIsPositive()==1){ |
| | | // break; |
| | | // } |
| | | // } |
| | | // List<TjOrderRemark> lists = remarkService.getTjOrderRemarkListByYjNum(order.getTjNumber()); |
| | | // if (null != lists && lists.size() > 0) { |
| | | // StringBuilder stringBuilder = new StringBuilder(); |
| | | // for (TjOrderRemark remark : lists) { |
| | | // TjProject byId = projectService.selectTjProjectByProId(remark.getProId()); |
| | | // TjOrderDetail one = detailService.getTjOrderDetailByOrderId(String.valueOf(order.getOrderId()), String.valueOf(byId.getProId())); |
| | | // if (one.getFlowingWaterId() != null) { |
| | | // stringBuilder.append(byId.getProName()).append(";"); |
| | | // } |
| | | // } |
| | | // customer.setNotCheckeds(String.valueOf(stringBuilder)); |
| | | // if (null == customer.getNotCheckeds()) customer.setNotCheckeds("全部已检"); |
| | | // customer.setTjStatus(0L); |
| | | // } else { |
| | | // customer.setNotCheckeds("无"); |
| | | // customer.setTjStatus(1L); |
| | | // } |
| | | // if (order.getTjType().equals("1")) { |
| | | // customer.setTjType("团体"); |
| | | // } |
| | | // if (order.getTjType().equals("2")) { |
| | | // customer.setTjType("个人"); |
| | | // } |
| | | // customer.setTjTime(order.getCreateTime()); |
| | | // customer.setTjNumber(order.getTjNumber()); |
| | | // customer.setOrderId(order.getOrderId()); |
| | | // customer.setIsHz(order.getIsHz()); |
| | | // list11111.add(customer); |
| | | // } |
| | | // } |
| | | // } |
| | | // if (list11111.size() == 0) { |
| | | // return AjaxResult.success("暂无数据"); |
| | | // } |
| | | // Map<String, Object> map = new HashMap<>(); |
| | | // List<TjCustomer> customers = list11111.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); |
| | | // Collections.reverse(customers); |
| | | // map.put("customers", customers); |
| | | // map.put("total", list11111.size()); |
| | | // return AjaxResult.success(map); |
| | | // } else { |
| | | // return AjaxResult.success("暂无数据"); |
| | | // } |
| | | // } |
| | | // List<TjCustomer> customerLists = null; |
| | | Map<String,Object> map=null; |
| | | if (type == 0) { |
| | | // Cursor cursor = redisTemplate.executeWithStickyConnection(redisConnection -> new ConvertingCursor<>(redisConnection.scan(options), redisSerializer::deserialize)); |
| | | // List<TjCustomer> customers = new ArrayList<>(); |
| | | // while(cursor.hasNext()){ |
| | | // String s = cursor.next().toString(); |
| | | // TjCustomer wj = redisCache.getCacheMapValue(s,"0"); |
| | | // if(null !=wj){ |
| | | // customers.add(wj); |
| | | // } |
| | | // } |
| | | //// //切记这里一定要关闭,否则会耗尽连接数。报Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisException: Could not get a |
| | | // cursor.close(); |
| | | // customerLists = redisCache.getCacheMapValue(ksId + "ks", "wj"); |
| | | map = deptService.getSysDeptHyAndYxYjWjCustomerList13("A32", name, tjNumber, 0, page, pageSize); |
| | | // customerLists = customers; |
| | | } |
| | | if (type == 1) { |
| | | // Cursor cursor = redisTemplate.executeWithStickyConnection(redisConnection -> new ConvertingCursor<>(redisConnection.scan(options), redisSerializer::deserialize)); |
| | | // List<TjCustomer> customers = new ArrayList<>(); |
| | | // while(cursor.hasNext()){ |
| | | // String s = cursor.next().toString(); |
| | | // TjCustomer wj = redisCache.getCacheMapValue(s,"1"); |
| | | // if(null !=wj){ |
| | | // customers.add(wj); |
| | | // } |
| | | // } |
| | | //// //切记这里一定要关闭,否则会耗尽连接数。报Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisException: Could not get a |
| | | // cursor.close(); |
| | | // customerLists = redisCache.getCacheMapValue(ksId + "ks", "yj"); |
| | | map = deptService.getSysDeptHyAndYxYjWjCustomerList13("A32", name, tjNumber, 1, page, pageSize); |
| | | // customerLists = customers; |
| | | } |
| | | // asyncService.dockerSetCustomerLisByRedis(ksproList, String.valueOf(ksId)); |
| | | // if (customerLists.size() > 0) { |
| | | // Collections.reverse(customerLists); |
| | | // List<TjCustomer> customerList = customerLists.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); |
| | | // Map<String, Object> map = new HashMap<>(); |
| | | // map.put("date", customerList); |
| | | // map.put("total", customerLists.size()); |
| | | // return AjaxResult.success(map); |
| | | // } else { |
| | | // AjaxResult map = getAjaxResult(type, page, pageSize, ksproList, customerLis); |
| | | // if (map != null) return map; |
| | | // return AjaxResult.success("暂时没有数据"); |
| | | return AjaxResult.success(map); |
| | | // } |
| | | } |
| | | |
| | | |
| | | @GetMapping("/getTjYxjcList") |
| | | @ApiOperation("查询个人影响检查项目结果集") |
| | | public AjaxResult getTjYxjcList(@ApiParam(value = "姓名") @RequestParam String patname, |
| | | @ApiParam(value = "性别") @RequestParam String sex, |
| | | @ApiParam(value = "年龄") @RequestParam String patage, |
| | | @ApiParam(value = "年龄单位") @RequestParam String patagename, |
| | | @ApiParam(value = "生日)") @RequestParam Date patbirth) { |
| | | |
| | | String format = DateUtil.format(patbirth, "yyyy.MM.dd"); |
| | | |
| | | List<Map<String, Object>> tjYxjcList = testMapper.getTjYxjcList(patname,sex,null); |
| | | return AjaxResult.success(tjYxjcList); |
| | | } |
| | | |
| | | |
| | | // @GetMapping("/getSsTjYxjcList") |
| | | // @ApiOperation("查询个人影响检查项目结果集(搜素用)") |
| | | // public AjaxResult getSsTjYxjcList(@ApiParam(value = "姓名") @RequestParam String patname, |
| | | // @ApiParam(value = "性别") @RequestParam String sex, |
| | | // @ApiParam(value = "年龄") @RequestParam String patage) { |
| | | // |
| | | // |
| | | // List<Map<String, Object>> tjYxjcList = testMapper.getTjYxjcList(patname,sex,null,null); |
| | | // return AjaxResult.success(tjYxjcList); |
| | | // } |
| | | |
| | | |
| | | |
| | |
| | | return toAjax(deptService.insertDept(dept)); |
| | | } |
| | | |
| | | |
| | | @Resource |
| | | private IDictHospService dictHospService; |
| | | |
| | | /** |
| | | * 修改科室部门 |
| | | */ |
| | |
| | | return error("该部门包含未停用的子部门!"); |
| | | } |
| | | dept.setUpdateBy(getUsername()); |
| | | |
| | | //查询院区名字赋值 |
| | | if (dept.getHospId()!=null){ |
| | | final DictHosp byId = dictHospService.getById(dept.getHospId()); |
| | | if (byId!=null){ |
| | | dept.setHospName(byId.getHospAreaName()); |
| | | } |
| | | } |
| | | |
| | | |
| | | return toAjax(deptService.updateDept(dept)); |
| | | } |
| | | |
| | |
| | | public AjaxResult addRemark(@ApiParam(value = "体检父项目备注集合") @RequestBody List<TjOrderRemark> remarklList) { |
| | | Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); |
| | | SysUser sysUser = userService.getById(userId); |
| | | if (remarklList == null || remarklList.size() == 0) { |
| | | if (remarklList == null || remarklList.isEmpty()) { |
| | | return AjaxResult.success("操作失败"); |
| | | } |
| | | for (TjOrderRemark orderRemark : remarklList) { |
| | | List<String> summaryList = orderRemark.getSummaryList(); |
| | | if (null != summaryList && summaryList.size()>0 && !summaryList.contains(null) ) { |
| | | if (null != summaryList && !summaryList.isEmpty() && !summaryList.contains(null) ) { |
| | | orderRemark.setSummary(Joiner.on(";").join(orderRemark.getSummaryList())); |
| | | }else { |
| | | orderRemark.setSummary(null); |
| | | } |
| | | if(StringUtils.isBlank(orderRemark.getRemark()))orderRemark.setRemark(null); |
| | | LambdaQueryWrapper<TjOrder> qw = new LambdaQueryWrapper<>(); |
| | | qw.eq(TjOrder::getTjNumber, orderRemark.getTjNumber()); |
| | | TjOrder order = orderService.getOne(qw); |
| | |
| | | List<TjOrderDetail> tjOrderDetailList = orderRemark.getTjOrderDetailList(); |
| | | |
| | | final TjCustomer byId1 = customerService.getById(order.getUserId()); |
| | | if (null != tjOrderDetailList && tjOrderDetailList.size() > 0) { |
| | | // TODO: 2023/8/31 存入每一小项的结果和结论 |
| | | if (null != tjOrderDetailList && !tjOrderDetailList.isEmpty()) { |
| | | //----------------------------------start |
| | | for (TjOrderDetail tjOrderDetail : tjOrderDetailList) { |
| | | final TjProject byId = projectService.getById(tjOrderDetail.getProId()); |
| | | //给病种记录表存 方便统计病种和客户信息之间的关系 |
| | | if (tjOrderDetail.getRulesList()!=null){ |
| | | for (TjRules tjRules : tjOrderDetail.getRulesList()) { |
| | | TjOrderDetailRules orderDetailRules=new TjOrderDetailRules(); |
| | | orderDetailRules.setAid(tjRules.getAid()); |
| | | if (byId1!=null){ |
| | | orderDetailRules.setCusName(byId1.getCusName()); |
| | | orderDetailRules.setCusSex(String.valueOf(byId1.getCusSex())); |
| | | orderDetailRules.setCusAge(String.valueOf(MatchUtils.getAgeByIdCard(byId1.getCusIdcard()))); |
| | | orderDetailRules.setCusId(String.valueOf(byId1.getCusId())); |
| | | } |
| | | orderDetailRules.setBingzhong(tjRules.getBingzhong()); |
| | | orderDetailRules.setDoctorName(sysUser.getNickName()); |
| | | orderDetailRules.setTjNumber(order.getTjNumber()); |
| | | if (byId!=null){ |
| | | orderDetailRules.setProId(String.valueOf(byId.getProId())); |
| | | orderDetailRules.setProName(byId.getProName()); |
| | | } |
| | | orderDetailRules.setDoctorId(String.valueOf(sysUser.getUserId())); |
| | | tjOrderDetailRulesService.save(orderDetailRules); |
| | | } |
| | | } |
| | | } |
| | | // for (TjOrderDetail tjOrderDetail : tjOrderDetailList) { |
| | | // final TjProject byId = projectService.getById(tjOrderDetail.getProId()); |
| | | // //给病种记录表存 方便统计病种和客户信息之间的关系 |
| | | // if (tjOrderDetail.getRulesList()!=null){ |
| | | // for (TjRules tjRules : tjOrderDetail.getRulesList()) { |
| | | // TjOrderDetailRules orderDetailRules=new TjOrderDetailRules(); |
| | | // orderDetailRules.setAid(tjRules.getAid()); |
| | | // if (byId1!=null){ |
| | | // orderDetailRules.setCusName(byId1.getCusName()); |
| | | // orderDetailRules.setCusSex(String.valueOf(byId1.getCusSex())); |
| | | // orderDetailRules.setCusAge(String.valueOf(MatchUtils.getAgeByIdCard(byId1.getCusIdcard()))); |
| | | // orderDetailRules.setCusId(String.valueOf(byId1.getCusId())); |
| | | // } |
| | | // orderDetailRules.setBingzhong(tjRules.getBingzhong()); |
| | | // orderDetailRules.setDoctorName(sysUser.getNickName()); |
| | | // orderDetailRules.setTjNumber(order.getTjNumber()); |
| | | // if (byId!=null){ |
| | | // orderDetailRules.setProId(String.valueOf(byId.getProId())); |
| | | // orderDetailRules.setProName(byId.getProName()); |
| | | // } |
| | | // orderDetailRules.setDoctorId(String.valueOf(sysUser.getUserId())); |
| | | // tjOrderDetailRulesService.save(orderDetailRules); |
| | | // } |
| | | // } |
| | | // } |
| | | asyncService.updateOrdeltile(tjOrderDetailList, sysUser, order); |
| | | LambdaQueryWrapper<TjOrderDetail> qww = new LambdaQueryWrapper<>(); |
| | | qww.eq(TjOrderDetail::getOrderId, order.getOrderId()); |
| | |
| | | remarkService.save(remark); |
| | | } else { |
| | | one.setRemark(orderRemark.getRemark()); |
| | | if (null != summaryList && summaryList.size()>0 && !summaryList.contains(null)) { |
| | | if (null != summaryList && !summaryList.isEmpty() && !summaryList.contains(null)) { |
| | | one.setSummary(Joiner.on(";").join(orderRemark.getSummaryList())); |
| | | }else { |
| | | one.setSummary(null); |
| | | } |
| | | one.setDeptId(orderRemark.getDeptId()); |
| | | one.setDoctorName(orderRemark.getDoctorName()); |
| | | one.setType(1); |
| | | remarkService.updateById(one); |
| | |
| | | asyncService.getOrderDetailByProParentId(orderRemark.getTjNumber(),null, String.valueOf(orderRemark.getProId())); |
| | | return AjaxResult.success("操作成功"); |
| | | } |
| | | asyncService.updateCheckType(orderRemark.getTjNumber()); |
| | | asyncService.getOrderDetailByProParentId(orderRemark.getTjNumber(),null, String.valueOf(orderRemark.getProId())); |
| | | // asyncService.updateCheckType(orderRemark.getTjNumber()); |
| | | // asyncService.getOrderDetailByProParentId(orderRemark.getTjNumber(),null, String.valueOf(orderRemark.getProId())); |
| | | } |
| | | remarkService.tjYishengjianchajianyi(null,null,null,null); |
| | | return AjaxResult.success("操作成功"); |
| | | } |
| | | |
| | |
| | | * @param tjNumber |
| | | * @return |
| | | */ |
| | | // @Transactional |
| | | @GetMapping("/getParentList") |
| | | @ApiOperation(value = "医生点击体检信息详情(只显示父项目列表)") |
| | | public AjaxResult getParentList(@ApiParam(value = "客户体检号") @RequestParam String tjNumber) { |
| | |
| | | } |
| | | ksId = Math.toIntExact(sysUser.getDeptId()); |
| | | } |
| | | String configByKey = configService.selectConfigByKey("sfkqdyhis"); |
| | | // 判断是否收费 请求接口 |
| | | TjOrder tjOrder = orderService.getOrderByTjNum(tjNumber); |
| | | if(null ==tjOrder){ |
| | | return AjaxResult.error("未找到体检记录"); |
| | | } |
| | | LambdaQueryWrapper<TjFlowingWater> tjFlowingWaterLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getOrderId,tjOrder.getOrderId()); |
| | | tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getIsAddition,"N"); |
| | | TjFlowingWater tjFlowingWater = tjFlowingWaterService.getOne(tjFlowingWaterLambdaQueryWrapper); |
| | | if(null !=tjFlowingWater){ |
| | | if(tjFlowingWater.getPayStasus()!=1 && tjFlowingWater.getPayStasus()!=3){ |
| | | if (configByKey.equals("Y")){ |
| | | HashMap<String, Object> hisRequestParams = new HashMap<>(); |
| | | // 不在需要身份证号 |
| | | hisRequestParams.put("patientId",tjOrder.getCardId()); |
| | | log.info("ltkj--- "+DateUtil.date()+"操作人id: "+userId+"操作科室: "+sysUser.getDeptId()+"操作的体检人: "+tjNumber); |
| | | AjaxResult queryPay = hisApiGetMethodService.getHISDataNew("QueryPay", hisRequestParams); |
| | | if (Integer.parseInt(queryPay.get("code").toString()) == 200) { |
| | | int sfsf = ltkjJianchajianyanTreeService.getSfsfByCardId(tjOrder.getCardId()); |
| | | if (sfsf > 0){ |
| | | log.error("路泰科技--- "+DateUtil.date()+" 存在未缴费项目的 就单数 "+sfsf); |
| | | log.error("路泰科技--- "+DateUtil.date()+" 存在未缴费项目的 就诊号 "+tjOrder.getCardId()+" 体检号 "+tjOrder.getTjNumber()); |
| | | return AjaxResult.error("存在未缴费项目"); |
| | | } |
| | | extracted(tjOrder, tjFlowingWater); |
| | | }else { |
| | | log.error("路泰科技--- "+DateUtil.date()+" 未查询到缴费记录的 就诊号 "+tjOrder.getCardId()+" 体检号 "+tjOrder.getTjNumber()); |
| | | return AjaxResult.error("未查询到缴费记录"); |
| | | } |
| | | } |
| | | } |
| | | }else { |
| | | log.error("路泰科技--- "+DateUtil.date()+" 未对接his接口 "+" 体检号 "+tjOrder.getTjNumber()); |
| | | return AjaxResult.error("未查询到缴费记录"); |
| | | } |
| | | |
| | | String config = configService.selectConfigByKey("qt_open_xdt"); |
| | | String byKey = configService.selectConfigByKey("qt_kjksid"); |
| | | List<Integer> split = new ArrayList<>(); // 存放转换后的integer类型结果 |
| | | if("Y".equals(config)){ |
| | | List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles(); |
| | | if(null !=roles && roles.size()>0){ |
| | | List<SysRole> list = roles.stream().filter(item -> item.getRoleName().contains("前台")).collect(Collectors.toList()); |
| | | if(list.size()>0){ |
| | | if(null !=ksId && ksId==100){ |
| | | ksId=999; |
| | | } |
| | | if(null !=byKey && !"".equals(byKey)){ |
| | | String[] arr = byKey.split(","); // 根据逗号进行切割 |
| | | for (String s : arr) { |
| | | int num = Integer.parseInt(s); // 将每个子字符串转换为integer类型 |
| | | split.add(num); // 添加到列表中 |
| | | } |
| | | } |
| | | }else { |
| | | split.add(ksId); |
| | | } |
| | | }else { |
| | | split.add(ksId); |
| | | } |
| | | }else { |
| | | split.add(ksId); |
| | | } |
| | | |
| | | //判断当前登陆的人是不是管理员。管理员可以看当前体检号下所有项目 |
| | | // if (sysUser.getUserName().equals("10001")) { |
| | | // QueryWrapper<TjOrderRemark> wqq = new QueryWrapper<>(); |
| | |
| | | // return AjaxResult.success(listq); |
| | | // } |
| | | LambdaQueryWrapper<TjProject> wq2 = new LambdaQueryWrapper<>(); |
| | | if (null != sysUser && !sysUser.getUserName().equals("10001")) { |
| | | wq2.eq(TjProject::getDeptId, ksId); |
| | | if ((null != sysUser && !sysUser.getUserName().equals("10001")) && 100!=ksId) { |
| | | wq2.in(TjProject::getDeptId,split); |
| | | } |
| | | //判断该项目是否需要打印报告 |
| | | wq2.eq(TjProject::getNeedReport,"Y"); |
| | | List<TjProject> Deptlist = projectService.list(wq2); |
| | | List<Long> proIdList = Deptlist.stream().map(TjProject::getProId).collect(Collectors.toList()); |
| | | if (Deptlist.size() == 0 || proIdList.size() == 0) { |
| | | if (Deptlist.isEmpty() || proIdList.isEmpty()) { |
| | | return AjaxResult.error("该科室下无项目!"); |
| | | } |
| | | LambdaQueryWrapper<TjOrder> wqqq = new LambdaQueryWrapper<>(); |
| | |
| | | wqq.eq(TjOrderDetail::getOrderId, one.getOrderId()); |
| | | wqq.isNotNull(TjOrderDetail::getFlowingWaterId); |
| | | wqq.in(TjOrderDetail::getProId, proIdList); |
| | | wqq.notIn(TjOrderDetail::getProId, proIdList,projectService.getNneedReprotProId()); |
| | | List<TjOrderDetail> detailList = detailService.list(wqq); |
| | | if (detailList != null && detailList.size() > 0) { |
| | | List<Long> collect = detailList.stream().map(TjOrderDetail::getProId).collect(Collectors.toList()); |
| | |
| | | wq.eq("tj_number", tjNumber); |
| | | wq.in("pro_id", collect); |
| | | wq.ne("type", 2); |
| | | wq.ne("dept_id",241); |
| | | wq.notIn("pro_id", proIdList,projectService.getNneedReprotProId()); |
| | | List<TjOrderRemark> list = remarkService.list(wq); |
| | | if (list.size() == 0) { |
| | | return AjaxResult.success("该科室下无项目!"); |
| | |
| | | return AjaxResult.error(); |
| | | } |
| | | |
| | | @Transactional |
| | | public void extracted(TjOrder tjOrder, TjFlowingWater tjFlowingWater) { |
| | | tjFlowingWater.setPayStasus(1L); |
| | | tjFlowingWater.setPayType(0L); |
| | | tjFlowingWater.setTollCollectorId("148"); |
| | | tjFlowingWaterService.updateById(tjFlowingWater); |
| | | Long tjSerialNumber = tjFlowingWater.getTjSerialNumber(); |
| | | LambdaQueryWrapper<TjOrderDetail> tjOrderDetailLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | tjOrderDetailLambdaQueryWrapper.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId()); |
| | | List<TjOrderDetail> tjOrderDetails = detailService.list(tjOrderDetailLambdaQueryWrapper); |
| | | List<Long> detailIds = tjOrderDetails.stream().map(TjOrderDetail::getOrderDetailId).collect(Collectors.toList()); |
| | | LambdaUpdateWrapper<TjOrderDetail> tjOrderDetailLambdaUpdateWrapper = new LambdaUpdateWrapper<>(); |
| | | tjOrderDetailLambdaUpdateWrapper.set(TjOrderDetail::getFlowingWaterId,tjSerialNumber); |
| | | tjOrderDetailLambdaUpdateWrapper.in(TjOrderDetail::getOrderDetailId,detailIds); |
| | | detailService.update(tjOrderDetailLambdaUpdateWrapper); |
| | | } |
| | | |
| | | /** |
| | | * 点击父项目显示子项目详情 |
| | | * |
| | |
| | | return AjaxResult.error("获取用户信息错误"); |
| | | } |
| | | |
| | | // if(redisCache.hasHKey("getOrderDetailByProParentId"+tjNumber,proParentId)){ |
| | | // Map<String, Object> mapValue = redisCache.getCacheMapValue("getOrderDetailByProParentId" + tjNumber, proParentId); |
| | | // return AjaxResult.success(mapValue); |
| | | // } |
| | | |
| | | TjOrderRemark remark = remarkService.getTjOrderRemarkByTjNumAndProParentId(tjNumber, proParentId); |
| | | List<TjProject> proParentList = projectService.getTjProjectListBySoneId(proParentId); |
| | | if (null == proParentList || proParentList.size()==0) { |
| | | |
| | | List<TjProject> proParentList = projectService.getTjProjectListByTbTransition(proParentId,tjNumber); |
| | | |
| | | if (null == proParentList || proParentList.isEmpty()) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("xiaoJieIds", null); |
| | | map.put("sons", projectService.list(new LambdaQueryWrapper<TjProject>().eq(TjProject::getProId,proParentId))); |
| | |
| | | return AjaxResult.success("该用户暂时没有体检数据"); |
| | | } |
| | | List<TjOrderDetail> tjOrderDetails = detailService.getTjOrderDetailListInProParentIdList(String.valueOf(one.getOrderId()), proParentIdList); |
| | | TjCustomer customer = tjCustomerService.getById(one.getUserId()); |
| | | if (null != tjOrderDetails && tjOrderDetails.size() > 0) { |
| | | List<TjOrderDetail> tjOrderDetailList=new ArrayList<>(); |
| | | // TjCustomer customer = tjCustomerService.getById(one.getUserId()); |
| | | if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) { |
| | | for (TjOrderDetail tjOrderDetail : tjOrderDetails) { |
| | | TjProject project = projectService.getById(tjOrderDetail.getProId()); |
| | | //病种回显 |
| | | // LambdaQueryWrapper<TjOrderDetailRules> wq=new LambdaQueryWrapper<>(); |
| | | // wq.eq(TjOrderDetailRules::getProId,project.getProId()); |
| | | // wq.eq(TjOrderDetailRules::getTjNumber,tjNumber); |
| | | // List<TjOrderDetailRules> list = tjOrderDetailRulesService.list(wq); |
| | | // List<TjRules> res=new ArrayList<>(); |
| | | // for (TjOrderDetailRules orderDetailRules : list) { |
| | | // final TjRules byId = tjRulesService.getById(orderDetailRules.getAid()); |
| | | // res.add(byId); |
| | | // } |
| | | //判断该项目是否需要打印报告 |
| | | if ("N".equals(project.getNeedReport())){ |
| | | continue; |
| | | } |
| | | List<TjRules> rulesList = tjRulesService.getTjRulesListByTjNumAndProId(tjNumber, tjOrderDetail.getProId()); |
| | | tjOrderDetail.setRulesList(rulesList); |
| | | |
| | | //查标准和单位----start |
| | | List<TjStandard> list26 = tjStandardService.getTjStandardListByProId(String.valueOf(tjOrderDetail.getProId())); |
| | | if (list26.size() == 0) { |
| | | project.setProMetering("/"); |
| | | project.setProScope("/"); |
| | | } else if (list26.size() == 1) { |
| | | project.setProMetering(list26.get(0).getCompany() == null ? " " : list26.get(0).getCompany()); |
| | | project.setProScope((list26.get(0).getTjStandardLtValue() == null ? " " : list26.get(0).getTjStandardLtValue()) + "-" + (list26.get(0).getTjStandardGtValue() == null ? " " : list26.get(0).getTjStandardGtValue())); |
| | | } else { |
| | | Long cusSex = customer.getCusSex(); |
| | | Date cusBrithday = customer.getCusBrithday(); |
| | | int age = DateUtil.ageOfNow(cusBrithday); |
| | | for (TjStandard tjStandard : list26) { |
| | | LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>(); |
| | | if (tjStandard.getTjSex() != null) { |
| | | wq8.eq(TjStandard::getTjSex, cusSex); |
| | | } |
| | | if (tjStandard.getTjType() != null) { |
| | | wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(age)); |
| | | } |
| | | TjStandard standard = tjStandardService.getOne(wq8); |
| | | project.setProMetering(standard.getCompany()); |
| | | project.setProScope((standard.getTjStandardLtValue() == null ? " " : standard.getTjStandardLtValue()) + "-" + (standard.getTjStandardGtValue() == null ? " " : standard.getTjStandardGtValue())); |
| | | } |
| | | } |
| | | //查标准和单位-----end |
| | | tjOrderDetail.setProject(project); |
| | | List<TjStandard> list2 = tjStandardService.getTjStandardListByProId(String.valueOf(project.getProId())); |
| | | if (list2.size() == 0) { |
| | | tjOrderDetail.setStandard(null); |
| | | } else if (list2.size() == 1) { |
| | | tjOrderDetail.setStandard(list2.get(0)); |
| | | } else { |
| | | for (TjStandard tjStandard : list2) { |
| | | LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>(); |
| | | if (tjStandard.getTjSex() != null) { |
| | | wq8.eq(TjStandard::getTjSex, customer.getCusSex()); |
| | | } |
| | | if (tjStandard.getTjType() != null) { |
| | | wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday()))); |
| | | } |
| | | TjStandard standard = tjStandardService.getOne(wq8); |
| | | tjOrderDetail.setStandard(standard); |
| | | } |
| | | } |
| | | if (null != remark.getDoctorName()) { |
| | | //lg0412 |
| | | SysUser byId = userService.getById(remark.getDoctorName()); |
| | | if (byId != null) { |
| | | tjOrderDetail.setDoctorName(userService.getById(remark.getDoctorName()).getNickName()); |
| | |
| | | } else { |
| | | tjOrderDetail.setDoctorName(null); |
| | | } |
| | | tjOrderDetailList.add(tjOrderDetail); |
| | | } |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | List<TjAdvice> adviceList = new ArrayList<>(); |
| | | if (null != remark) { |
| | | String[] strings = StringUtils.split(remark.getSummary(), ";"); |
| | | // if (null != strings && strings.length > 0) { |
| | | // for (String string : strings) { |
| | | // adviceList.add(tjAdviceService.getById(string)); |
| | | // } |
| | | // } |
| | | if(null !=strings && strings.length>0){ |
| | | List<TjAdvice> list = tjAdviceService.getAdviceStringByIds(strings); |
| | | adviceList.addAll(list); |
| | |
| | | } else { |
| | | map.put("xiaoJieIds", null); |
| | | } |
| | | map.put("sons", tjOrderDetails); |
| | | map.put("sons", tjOrderDetailList); |
| | | map.put("xiaoJie", adviceList); |
| | | map.put("remark", remark.getRemark()); |
| | | |
| | |
| | | /** |
| | | * 根据项目id获取建议 |
| | | */ |
| | | @GetMapping("/getDeptAdvice/{proId}") |
| | | @GetMapping("/getDeptAdvice") |
| | | @ApiOperation(value = "根据项目id获取建议") |
| | | public AjaxResult getDeptAdvice(@ApiParam(value = "父项目项目id") @PathVariable String proId) { |
| | | List<TjAdvice> list = new ArrayList<>(); |
| | | public AjaxResult getDeptAdvice(@ApiParam(value = "父项目项目id") @RequestParam(required = false) String proId, |
| | | @ApiParam(value = "内容") @RequestParam(required = false) String nr, |
| | | @ApiParam(value = "拼音码") @RequestParam(required = false) String pym, |
| | | @ApiParam(value = "页码") @RequestParam(defaultValue ="1") int page, |
| | | @ApiParam(value = "每页展示条数") @RequestParam(defaultValue ="10") int pageSize) { |
| | | LambdaQueryWrapper<TjAdvice> wq1 = new LambdaQueryWrapper<>(); |
| | | wq1.eq(TjAdvice::getProId, proId); |
| | | List<TjAdvice> list1 = tjAdviceService.list(wq1); |
| | | //如果没有项目id 就返回所有的建议集合 |
| | | if (list1.size() == 0) { |
| | | return AjaxResult.success(tjAdviceService.list()); |
| | | if(null !=proId){ |
| | | wq1.eq(TjAdvice::getProId, proId); |
| | | } |
| | | for (TjAdvice tjAdvice : list1) { |
| | | list.add(tjAdvice); |
| | | if(null !=nr && !nr.isEmpty()){ |
| | | wq1.like(TjAdvice::getTitle,nr); |
| | | }else if (null !=pym && !pym.isEmpty()){ |
| | | wq1.like(TjAdvice::getTitle,pym); |
| | | } |
| | | // else { |
| | | // wq1.last("limit 20"); |
| | | // } |
| | | Page<TjAdvice> pages=new Page<>(page,pageSize); |
| | | Page<TjAdvice> advicePage = tjAdviceService.page(pages, wq1); |
| | | Map<String,Object> map=new HashMap<>(); |
| | | map.put("list",advicePage.getRecords()); |
| | | map.put("total",advicePage.getTotal()); |
| | | // List<TjAdvice> list = tjAdviceService.list(wq1); |
| | | return AjaxResult.success(map); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @GetMapping("/getAdviceByTjNumAndPro") |
| | | @ApiOperation(value = "根据项目id和体检号获取建议") |
| | | public AjaxResult getAdviceByTjNumAndPro(@ApiParam(value = "父项目项目id") @RequestParam String proId, |
| | | @ApiParam(value = "体检号") @RequestParam String tjNum) { |
| | | LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjOrderRemark::getProId, proId); |
| | | wq.eq(TjOrderRemark::getTjNumber,tjNum); |
| | | TjOrderRemark remark = remarkService.getOne(wq); |
| | | List<TjAdvice> list =null; |
| | | if (null != remark && !StringUtils.isBlank(remark.getSummary())) { |
| | | String[] strings = StringUtils.split(remark.getSummary(), ";"); |
| | | if(null !=strings && strings.length>0){ |
| | | list = tjAdviceService.getAdviceStringByIds(strings); |
| | | } |
| | | } |
| | | return AjaxResult.success(list); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 获取部门树列表 |
| | |
| | | } |
| | | |
| | | |
| | | @GetMapping("/deptTree111") |
| | | @ApiOperation("获取部门树列表1111111111") |
| | | public AjaxResult deptTree111(SysDept dept) { |
| | | final List<TreeSelect> treeSelects = deptService.selectDeptTreeList1(dept); |
| | | return success(treeSelects); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取子科室部门列表 |
| | | */ |