ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -6,6 +6,7 @@ import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.core.redis.RedisCache; import com.ltkj.common.utils.SecurityUtils; import com.ltkj.common.utils.StringUtils; import com.ltkj.framework.config.MatchUtils; import com.ltkj.hosp.domain.*; @@ -90,6 +91,8 @@ private ITjPrintOrderService printOrderService; @Resource private IDictSfxmService dictSfxmService; @Autowired private ITjRulesService tjRulesService; @Override @@ -273,6 +276,7 @@ @Async("async") public void collectFees(TjOrder order, List<TjConsumables> list2, List<TbTransition> tbTransitionList, SysUser sysUser, String discount) { orderRemarkService.deletedOrderRemarkByTjNum(order.getTjNumber()); redisCache.deleteObject("getOrderDetailByProParentId"+order.getTjNumber()); for (TbTransition transition : tbTransitionList) { transition.setNowPrice(transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(discount)).divide(BigDecimal.valueOf(10)))); transitionService.updateById(transition); @@ -322,6 +326,8 @@ tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId())); tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId())); orderRemarkService.save(tjOrderRemark); Map<String, Object> map = getOrderDetailByProParentId(String.valueOf(parentProId), order.getTjNumber()); redisCache.setCacheMapValue("getOrderDetailByProParentId"+order.getTjNumber(),String.valueOf(parentProId),map); } } } @@ -647,6 +653,7 @@ wq2.eq(TjSampling::getTjNum,tjNum); wq2.eq(TjSampling::getProId,refundPro.getProId()); samplingService.remove(wq2); redisCache.deleteCacheMapValue("getOrderDetailByProParentId"+tjNum, String.valueOf(refundPro.getProId())); } } @@ -679,6 +686,7 @@ td.setCreateId(String.valueOf(sysUser.getUserId())); td.setUpdateId(String.valueOf(sysUser.getUserId())); discardInspectionService.save(td); redisCache.deleteCacheMapValue("getOrderDetailByProParentId"+domainVo.getTjNumber(),String.valueOf(remark.getProId())); } LambdaQueryWrapper<TjProject>wq1=new LambdaQueryWrapper<>(); @@ -928,6 +936,17 @@ redisCache.setCacheObject("getDictSfxms",dictSfxm); } @Override @Async("async") public void getOrderDetailByProParentId(String tjNumber,Map<String, Object> map,String proParentId) { if(null !=map && !map.isEmpty()){ redisCache.setCacheMapValue("getOrderDetailByProParentId"+tjNumber,proParentId,map); }else { redisCache.setCacheMapValue("getOrderDetailByProParentId"+tjNumber,proParentId,getOrderDetailByProParentId(proParentId,tjNumber)); } } private List<DictSfxm> getDictSfxm() { List<DictSfxm> dictSfxms = dictSfxmService.getYjDictSfxmList(); if (null != dictSfxms && dictSfxms.size() > 0) { @@ -1100,8 +1119,6 @@ redisCache.setCacheMapValue("getTjPackageListBySex","getTjPackageListByManAndWoMan",tjPackageList); } } //已检 public List<TjCustomer> getYjAjaxResult(List<Long> ksproList) { List<TjCustomer> customerLis = new ArrayList<>(); @@ -1165,7 +1182,6 @@ } return customerLis; } //未检 public List<TjCustomer> getWjAjaxResult(List<Long> ksproList) { List<TjCustomer> customerLis = new ArrayList<>(); @@ -1221,7 +1237,6 @@ } return customerLis; } //已审 private List<TjCustomer> getYsResult(String config) { List<TjOrder> orderList = null; @@ -1261,7 +1276,6 @@ } return customerList; } //未审 private List<TjCustomer> getWsResult(String config) { List<TjOrder> orderList = null; @@ -1301,7 +1315,6 @@ } return customerList; } //总检点击体检信息详情 private AjaxResult getAjaxResult(String tjNumber) { List<Map<String, Object>> list = new ArrayList<>(); @@ -1362,7 +1375,6 @@ } return AjaxResult.success("该客户没有体检项目数据!"); } //已签收/未签收 private List<Map<String, Object>> getYWqsResult(int a) { LambdaQueryWrapper<TjSampling>wq=new LambdaQueryWrapper<>(); @@ -1400,8 +1412,6 @@ } return arrayList; } /** * 隐藏手机号 * @@ -1430,7 +1440,6 @@ } return sb.toString(); } /** * 隐藏身份证号码 * @@ -1462,8 +1471,6 @@ } return sb.toString(); } /** * 隐藏用户姓名 * @@ -1490,8 +1497,6 @@ } return cusName; } //临时表添加单项 public void saveRedisTransitionByProId(String cusId, List<Long> proIds) { for (Long proId : proIds) { @@ -1502,4 +1507,97 @@ transitionService.saveRedisTransitionByProId(cusId,proId); } } //向缓存中添加 父项目的子项目详情 private Map<String, Object> getOrderDetailByProParentId(String proParentId, String tjNumber) { TjOrderRemark remark = orderRemarkService.getTjOrderRemarkByTjNumAndProParentId(tjNumber, proParentId); List<TjProject> proParentList = projectService.getTjProjectListBySoneId(proParentId); if (null == proParentList) { return AjaxResult.error("该项目下暂时没数据"); } List<Long> proParentIdList = proParentList.stream().map(TjProject::getProId).collect(Collectors.toList()); TjOrder one = orderService.getOrderByTjNum(tjNumber); if (null == one) { return AjaxResult.success("该用户暂时没有体检数据"); } List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.getTjOrderDetailListInProParentIdList(String.valueOf(one.getOrderId()), proParentIdList); TjCustomer customer = tjCustomerService.getById(one.getUserId()); if (null != tjOrderDetails && tjOrderDetails.size() > 0) { for (TjOrderDetail tjOrderDetail : tjOrderDetails) { TjProject project = projectService.getById(tjOrderDetail.getProId()); 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); } } } 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){ List<TjAdvice> list = tjAdviceService.getAdviceStringByIds(strings); adviceList.addAll(list); } map.put("xiaoJieIds", StringUtils.split(remark.getSummary(), ";")); } else { map.put("xiaoJieIds", null); } map.put("sons", tjOrderDetails); map.put("xiaoJie", adviceList); map.put("remark", remark.getRemark()); return map; } } ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java
@@ -540,7 +540,7 @@ return AjaxResult.success("操作失败"); } for (TjOrderRemark orderRemark : remarklList) { if (null != orderRemark.getSummaryList()) { if (null != orderRemark.getSummaryList() && orderRemark.getSummaryList().size()>0 ) { orderRemark.setSummary(Joiner.on(";").join(orderRemark.getSummaryList())); } LambdaQueryWrapper<TjOrder> qw = new LambdaQueryWrapper<>(); @@ -609,9 +609,11 @@ remarkService.updateById(one); } asyncService.updateCheckType(orderRemark.getTjNumber()); 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())); } return AjaxResult.success("操作成功"); } @@ -701,10 +703,16 @@ @ApiOperation("点击父项目显示子项目详情") public AjaxResult getOrderDetailByProParentId(@ApiParam(value = "父项目id") @RequestParam String proParentId, @ApiParam(value = "体检号") @RequestParam String tjNumber) { TjOrderRemark remark = remarkService.getTjOrderRemarkByTjNumAndProParentId(tjNumber, proParentId); if (null == SecurityUtils.getLoginUser().getUserId() || null == userService.getById(SecurityUtils.getLoginUser().getUserId())) { 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) { return AjaxResult.error("该项目下暂时没数据"); @@ -720,16 +728,17 @@ 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); } tjOrderDetail.setRulesList(res); // 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); // } List<TjRules> rulesList = tjRulesService.getTjRulesListByTjNumAndProId(tjNumber, tjOrderDetail.getProId()); tjOrderDetail.setRulesList(rulesList); //查标准和单位----start List<TjStandard> list26 = tjStandardService.getTjStandardListByProId(String.valueOf(tjOrderDetail.getProId())); @@ -791,10 +800,14 @@ 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) { // for (String string : strings) { // adviceList.add(tjAdviceService.getById(string)); // } // } if(null !=strings && strings.length>0){ List<TjAdvice> list = tjAdviceService.getAdviceStringByIds(strings); adviceList.addAll(list); } map.put("xiaoJieIds", StringUtils.split(remark.getSummary(), ";")); } else { @@ -803,6 +816,8 @@ map.put("sons", tjOrderDetails); map.put("xiaoJie", adviceList); map.put("remark", remark.getRemark()); // asyncService.getOrderDetailByProParentId(tjNumber,map,proParentId); return AjaxResult.success(map); } ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java
@@ -424,7 +424,7 @@ */ @GetMapping(value = "/{id}") @ApiOperation(value = "根据预约id获取预约详情") public AjaxResult getInfo(@PathVariable("id") @ApiParam(value = "预约id") Integer id) { public AjaxResult getInfo(@PathVariable("id") @ApiParam(value = "预约id") String id) { TjReservation tjReservation = tjReservationService.selectTjReservationById(id); if (null != tjReservation) { if (null != tjReservation.getPacId()) { ltkj-admin/src/main/resources/application.yml
@@ -73,8 +73,8 @@ # redis 配置 redis: # 地址 # host: 101.42.27.146 host: localhost host: 101.42.27.146 # host: localhost # 端口,默认为6379 port: 6379 # 数据库索引 @@ -203,8 +203,8 @@ mch-key: Xianlutaikeji666888999shijihongL #密钥 #key-path: E:\mycode\apppwd\1643225121_20230427_cert\apiclient_cert.p12 #本地证书路径,在微信商户后台下载 key-path: D:\WXCertUtil\tjcert\apiclient_cert.p12 #服务器证书路径,在微信商户后台下载 pay-score-notify-url: http://192.168.0.101:5011/cus/order/pay-notify #微信支付回调地址 # pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin/cus/order/pay-notify #微信支付回调地址 # pay-score-notify-url: http://192.168.0.101:5011/cus/order/pay-notify #微信支付回调地址 pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin/cus/order/pay-notify #微信支付回调地址 #积木报表访问地址 jimu: ltkj-common/src/main/java/com/ltkj/common/core/redis/RedisCache.java
@@ -102,6 +102,10 @@ return redisTemplate.hasKey(key); } public Boolean hasHKey(String key1,String key2) { return redisTemplate.opsForHash().hasKey(key1,key2); } /** * 获得缓存的基本对象。 * ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjAdviceMapper.java
@@ -73,4 +73,13 @@ "</foreach>", "</script>" }) public String getAdviceStringByIds(@Param("aList") List<String> aList); @Select({"<script>", "select * from tj_advice a where a.id in", "<foreach collection='aList' item='id' open='(' separator=',' close=')'>", "#{id}", "</foreach>", "</script>" }) List<TjAdvice> getAdviceStringByIds(@Param("aList") String[] aList); } ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjReservationMapper.java
@@ -22,7 +22,7 @@ * @param id 体检预约主键 * @return 体检预约 */ public TjReservation selectTjReservationById(Integer id); public TjReservation selectTjReservationById(String id); /** * 查询体检预约列表 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjRulesMapper.java
@@ -6,6 +6,7 @@ import com.ltkj.hosp.domain.TjRuleAdvice; import com.ltkj.hosp.domain.TjRules; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; /** @@ -67,4 +68,8 @@ @Select("SELECT b.* FROM tj_project a INNER JOIN tj_rules b ON a.pro_id=b.pro_id WHERE a.deleted=0 AND a.pro_parent_id=#{proId}") List<TjRules> getTjRulesListByProId(String proId); @Select("SELECT b.* FROM tj_order_detail_rules a LEFT JOIN tj_rules b ON a.Aid=b.Aid WHERE a.tj_number=#{tjNum} AND a.pro_id=#{proId}") List<TjRules> getTjRulesListByTjNumAndProId(@Param("tjNum") String tjNum,@Param("proId") Long proId); } ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjStandardMapper.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ltkj.hosp.domain.TjStandard; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; @@ -73,5 +74,9 @@ "AND IF(NULL is NULL, 0 = 0, tj_type=#{tjType})\n" + "AND stan_id in \n" + "(SELECT stan_id FROM tj_standard WHERE pro_id=#{proId} AND deleted='0')") public TjStandard getListBySexAndType(Long tjSex,int tjType,String proId); public TjStandard getListBySexAndType(@Param("tjSex") Long tjSex,@Param("tjType") int tjType,@Param("proId") String proId); @Select("SELECT * FROM tj_standard a WHERE a.deleted='0' AND a.pro_id=#{proId} AND a.tj_sex=#{tjSex} AND a.tj_type=#{tjType}") public TjStandard getTjStandardBySexAndType(@Param("tjSex")Long tjSex,@Param("tjType")int tjType,@Param("proId") String proId); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjAdviceService.java
@@ -65,5 +65,8 @@ public String getAdviceStringByIds(List<String> aList); List<TjAdvice> getAdviceStringByIds(String[] aList); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjReservationService.java
@@ -19,7 +19,7 @@ * @param id 体检预约主键 * @return 体检预约 */ public TjReservation selectTjReservationById(Integer id); public TjReservation selectTjReservationById(String id); /** * 查询体检预约列表 ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjRulesService.java
@@ -17,4 +17,6 @@ List<TjRules> getTjRulesListByProId(String proId); List<TjRules> getTjRulesListByTjNumAndProId(String tjNum,Long proId); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjStandardService.java
@@ -66,4 +66,6 @@ public TjStandard getListBySexAndType(Long tjSex,int tjType,String proId); public TjStandard getTjStandardBySexAndType(Long tjSex,int tjType,String proId); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java
@@ -84,4 +84,6 @@ //收费项目按照项目编码树形查询 void getDictSfxms(); void getOrderDetailByProParentId(String tjNumber,Map<String, Object> map,String proParentId); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAdviceServiceImpl.java
@@ -94,4 +94,9 @@ public String getAdviceStringByIds(List<String> aList) { return tjAdviceMapper.getAdviceStringByIds(aList); } @Override public List<TjAdvice> getAdviceStringByIds(String[] aList) { return tjAdviceMapper.getAdviceStringByIds(aList); } } ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReservationServiceImpl.java
@@ -33,7 +33,7 @@ * @return 体检预约 */ @Override public TjReservation selectTjReservationById(Integer id) { public TjReservation selectTjReservationById(String id) { return tjReservationMapper.selectTjReservationById(id); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjRulesServiceImpl.java
@@ -30,4 +30,9 @@ public List<TjRules> getTjRulesListByProId(String proId) { return mapper.getTjRulesListByProId(proId); } @Override public List<TjRules> getTjRulesListByTjNumAndProId(String tjNum, Long proId) { return mapper.getTjRulesListByTjNumAndProId(tjNum,proId); } } ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjStandardServiceImpl.java
@@ -100,4 +100,9 @@ return tjStandardMapper.getListBySexAndType(tjSex,tjType,proId); } @Override public TjStandard getTjStandardBySexAndType(Long tjSex, int tjType,String proId) { return tjStandardMapper.getTjStandardBySexAndType(tjSex,tjType,proId); } } ltkj-hosp/src/main/resources/mapper/hosp/TjOrderMapper.xml
@@ -79,7 +79,7 @@ <where> <if test="tjNum != null">and tj_number LIKE '%${tjNum}'</if> <if test="checkStatus != null and checkStatus==0 ">and status =288</if> <if test="checkStatus != null and checkStatus==1 ">and status =401</if> <if test="checkStatus != null and checkStatus==1 ">and status =401 or status= 402 </if> <if test="compId != null ">and comp_id = #{compId}</if> <if test="beginTime != null and endTime != null ">and create_time BETWEEN #{beginTime} and #{endTime}</if> and deleted =0 ltkj-hosp/src/main/resources/mapper/hosp/TjReservationMapper.xml
@@ -103,7 +103,7 @@ </select> <select id="selectTjReservationById" parameterType="Long" resultMap="TjReservationResult"> <select id="selectTjReservationById" parameterType="String" resultMap="TjReservationResult"> <include refid="selectTjReservationVo"/> where id = #{id} </select>