2025-06-06 | zjh | ![]() |
2025-06-06 | zhaowenxuan | ![]() |
ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java
@@ -165,34 +165,10 @@ return AjaxResult.error("请输入科室id"); } //根据当前登陆的人的科室id,获取该科室下的所有项目 List<Long> postIds = sysUser.getPostIds(); List<Long> ksproList = null; String byKey =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)); // } // if (byId.getPostName().equals("前台")) { // byKey = configService.selectConfigByKey("qt_kjksid"); // // } // } // } // } else { // ksproList = projectService.getKsTjProjectIdList(); // } // // if (ksproList == null || ksproList.isEmpty()) { // return AjaxResult.error("请完善科室项目信息"); // } SysDept dept = deptService.getById(ksId); List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles(); if (null != roles && !roles.isEmpty()) { @@ -208,6 +184,14 @@ if ( StringUtil.isNotBlank(byKey)) { ksId+=(","+byKey); } if(null !=dept){ if(StringUtil.isNotBlank(dept.getSjks())){ ksId+=(","+dept.getSjks()); } } if (type == 0) { map = deptService.getSysDeptYjWjCustomerList13(ksId, name, tjNumber, 0, page, pageSize); } @@ -594,6 +578,7 @@ } ksId = Math.toIntExact(sysUser.getDeptId()); } SysDept dept = deptService.getById(ksId); String configByKey = configService.selectConfigByKey("sfkqdyhis"); // 判断是否收费 请求接口 TjOrder tjOrder = orderService.getOrderByTjNum(tjNumber); @@ -660,6 +645,15 @@ } } } if(null !=dept){ if(StringUtil.isNotBlank(dept.getSjks())){ String[] arr = dept.getSjks().split(","); // 根据逗号进行切割 for (String s : arr) { int num = Integer.parseInt(s); // 将每个子字符串转换为integer类型 split.add(num); // 添加到列表中 } } } log.info("查询关联科室集合 ->{}",split); List<TjOrderRemark> list; if (null != sysUser && sysUser.getUserName().equals("10001")) { ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ltkj.common.annotation.RepeatSubmit; import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.core.domain.entity.SysDept; import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.core.redis.RedisCache; import com.ltkj.common.enums.DataSourceType; @@ -1941,4 +1942,36 @@ return AjaxResult.success(list); } @GetMapping("/csymxmxzqtyybcjk") @ApiOperation(value = "初审页面项目选择其他原因保存接口") @Transactional public AjaxResult csymxmxzqtyybcjk(@RequestParam @ApiParam("体检号") String tjNum,@RequestParam @ApiParam("项目ID") String proId, @RequestParam @ApiParam("原因") String yy) { try { String czydm = SecurityUtils.getUsername(); String czy = SecurityUtils.getLoginUser().getUser().getNickName(); TjProject tjProject = projectService.getById(proId); if(null != tjProject){ SysDept dept = deptService.getById(tjProject.getDeptId()); LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>(); wq.eq(TjOrderRemark::getTjNumber, tjNum); wq.eq(TjOrderRemark::getProId, proId); TjOrderRemark remark = orderRemarkService.getOne(wq); remark.setType(1); if (orderRemarkService.updateById(remark)) { orderRemarkService.csymxmxzqtyybcjk(tjNum,proId,yy,dept.getOrgType(),czy,czydm); return AjaxResult.success(); } } } catch (Exception ex) { log.error(ex.getMessage()); throw new RuntimeException(ex); } return AjaxResult.error(); } } ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java
@@ -1,6 +1,7 @@ package com.ltkj.web.controller.system; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; import javax.annotation.Resource; @@ -36,6 +37,7 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import jodd.util.StringUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; @@ -54,6 +56,7 @@ * @author ltkj * @date 2022-11-25 */ @Slf4j @RestController @RequestMapping("/hosp/water") @Api(tags = "体检流水接口") @@ -307,6 +310,18 @@ return AjaxResult.error("补录失败,所选项目可能已存在 不可补录!"); } BigDecimal zongjia = new BigDecimal("0.0"); // his直接单开体检费单项目总价编码 String tjfhisxmbm = configService.selectConfigByKey("tjfhisxmbm"); // 是否开启his直接单开体检费单项目 N使用明细开单 其他都为单项目开总价 String lycdzjhmxj = configService.selectConfigByKey("lycdzjhmxj"); // 是否使用his价格传递规则 Y开启 String sfsyhisjgrule = configService.selectConfigByKey("sfsyhisjgrule"); // his价格传递规则保留得位数 默认2位 String sfsyhisjgrulebaoliuweishu = configService.selectConfigByKey("sfsyhisjgrulebaoliuweishu"); // his价格传递规则 1四舍五入 2直接舍去 String sfsyhisjgrulesconfig = configService.selectConfigByKey("sfsyhisjgrulesconfig"); for (TbTransition transition : list) { LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); wrapper1.eq(TjProject::getProId, transition.getProId()); @@ -320,6 +335,26 @@ BigDecimal danjia = transition.getNowPrice(); Integer sl = project.getSl(); BigDecimal allPrice = danjia.multiply(new BigDecimal(sl)); if (StrUtil.isNotBlank(sfsyhisjgrule) && sfsyhisjgrule.equalsIgnoreCase("Y")){ int baoliuweishu = 2; if (StrUtil.isNotBlank(sfsyhisjgrulebaoliuweishu)){ try { baoliuweishu = Integer.parseInt(sfsyhisjgrulebaoliuweishu); } catch (NumberFormatException e) { log.error("his价格传递规则保留位数转换异常 配置值->{}\n{}{}",sfsyhisjgrulebaoliuweishu,e,e.getMessage()); return AjaxResult.error(); } } if (StrUtil.isNotBlank(sfsyhisjgrulesconfig) && !sfsyhisjgrulesconfig.equalsIgnoreCase("1")){ // 其他自定义的规则计算方法 }else { // 四舍五入 danjia = danjia.setScale(baoliuweishu, RoundingMode.HALF_UP); allPrice = danjia.multiply(new BigDecimal(sl)).setScale(baoliuweishu, RoundingMode.HALF_UP); } } obj.putOpt("danJia", danjia); obj.putOpt("jieSuanJe", allPrice); obj.putOpt("shuliang", sl); @@ -328,13 +363,29 @@ obj.putOpt("shouFeiXmId", project.getHisXmbm()); obj.putOpt("shouFeiXmMc", project.getHisXmmc()); // obj.putOpt("zhiXingKs","7805"); // obj.putOpt("zhiXingKsMc","体检科"); // obj.putOpt("shouFeiXmId","4735346"); // obj.putOpt("shouFeiXmMc","体检费"); array.add(obj); zongjia = zongjia.add(allPrice); } map.put("feiYongInfoList", array); if(StringUtil.isNotBlank(lycdzjhmxj) && lycdzjhmxj.equalsIgnoreCase("N")){ map.put("feiYongInfoList", array); }else { zongjia = tjFlowingWater.getPaidIn(); JSONArray zjarray = JSONUtil.createArray(); JSONObject obj = JSONUtil.createObj(); int sl = 1; obj.putOpt("danJia", zongjia); obj.putOpt("jieSuanJe", zongjia); obj.putOpt("shuliang", sl); obj.putOpt("zhiXingKs", "100"); obj.putOpt("zhiXingKsMc","体检中心"); obj.putOpt("shouFeiXmId", tjfhisxmbm); obj.putOpt("shouFeiXmMc", "体检费"); zjarray.add(obj); map.put("feiYongInfoList", zjarray); } log.info("补录调用His接口前 收费总价:{}", zongjia.toString()); String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map); JSONObject object = JSONUtil.parseObj(post); ltkj-common/src/main/java/com/ltkj/common/core/domain/entity/SysDept.java
@@ -196,6 +196,8 @@ private String hisksmc; private String sjks; //以上 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderRemarkMapper.java
@@ -288,8 +288,16 @@ List<CsProVo> getYxJcXx(@Param("tjh") String tjNumber, @Param("ks") String ks); @Select("SELECT a.* FROM tj_order_remark a JOIN tj_project b ON b.pro_id=a.pro_id \n" + " WHERE b.need_report='Y' AND b.pro_delivery=1 AND !ISNULL(a.sfbz) AND a.type !=2 AND a.tj_number=#{tjNumber} ") // @Select("SELECT a.* FROM tj_order_remark a JOIN tj_project b ON b.pro_id=a.pro_id \n" + // " WHERE b.need_report='Y' AND b.pro_delivery=1 AND !ISNULL(a.sfbz) AND a.type !=2 AND a.tj_number=#{tjNumber} ") @Select("call yiShengJianChaGetPrentProWs(#{tjnumber,mode=IN})") List<TjOrderRemark> yiShengJianChaGetPrentProWs(String tjNumber); @Select("call csymxmxzqtyybcjk(#{tjh,mode=IN},#{xmid,mode=IN},#{yy,mode=IN},#{kslx,mode=IN},#{czy,mode=IN}," + "#{czydm,mode=IN}) ") void csymxmxzqtyybcjk(@Param("tjh")String tjNum,@Param("xmid") String proId,@Param("yy") String yy, @Param("kslx") String orgType,@Param("czy") String czy,@Param("czydm") String czydm); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderRemarkService.java
@@ -100,4 +100,6 @@ List<TjOrderRemark> yiShengJianChaGetPrentProWs(String tjNumber); void csymxmxzqtyybcjk(String tjNum, String proId, String yy, String orgType, String czy, String czydm); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderRemarkServiceImpl.java
@@ -205,4 +205,9 @@ return mapper.yiShengJianChaGetPrentProWs(tjNumber); } @Override public void csymxmxzqtyybcjk(String tjNum, String proId, String yy, String orgType, String czy, String czydm) { mapper.csymxmxzqtyybcjk( tjNum, proId, yy, orgType, czy, czydm); } }