| | |
| | | import com.ltkj.system.service.ISysConfigService; |
| | | import com.ltkj.system.service.ISysDeptService; |
| | | import jdk.nashorn.internal.runtime.logging.Logger; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | * */ |
| | | |
| | | @Component |
| | | @Slf4j |
| | | public class HisApiMethod { |
| | | @Autowired |
| | | private HisApiMethodService controller; |
| | |
| | | |
| | | //对接his总接口 注册挂号接诊申请单操作 |
| | | @Logger |
| | | public AjaxResult HisApiMethods(TjCustomer customer, Long orderId) { |
| | | public AjaxResult HisApiMethods(TjCustomer customer,TjOrder tjOrder) { |
| | | String jzh=null; |
| | | try { |
| | | TjOrder tjOrder = orderService.getById(orderId); |
| | | // TjOrder tjOrder = orderService.getById(orderId); |
| | | Date dates = new Date(); |
| | | final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); |
| | | OutpinregapplyDto outpinregapplyDto = new OutpinregapplyDto(); |
| | |
| | | hisApiGetMethodService.save(object4, "Outpinregapply", hisApiConfig, JSONUtil.toJsonStr(BeanUtil.beanToMap(outpinregapplyDto))); |
| | | |
| | | //门诊医生接诊 |
| | | controller.Outpinconapply(hisRegistrationId, date, "00029"); |
| | | AjaxResult result = controller.Outpinconapply(hisRegistrationId, date, "00029"); |
| | | String result3 = getAjaxResult(result); |
| | | JSONObject object2 = getJSONObject(result3); |
| | | String code2 = object2.getStr("ResultCode"); |
| | | if (!code2.equals("0")) { |
| | | return AjaxResult.error(object2.getStr("ResultContent")); |
| | | } |
| | | log.info("his接口-----医生接诊成功!"); |
| | | if(null != tjOrder.getTjCategory() && !tjOrder.getTjCategory().equals("13")){ |
| | | customer.setCardId(hisRegistrationId); |
| | | }else { |
| | |
| | | dto.setSfqj("0"); |
| | | dto.setJzqk(9); |
| | | controller.Outpinimpapply(dto); |
| | | return tijianshenqing(customer, date,tjOrder.getCardId()); |
| | | return AjaxResult.success(); |
| | | } |
| | | return AjaxResult.error(); |
| | | } catch (Exception e) { |
| | |
| | | |
| | | |
| | | //体检对his申请单调用方法 |
| | | private AjaxResult tijianshenqing(TjCustomer customer, String date,String cardId) { |
| | | public AjaxResult tijianshenqing(TjCustomer customer, String date,String cardId) { |
| | | //检验申请 |
| | | OutpintestapplyDto dto = new OutpintestapplyDto(); |
| | | dto.setHisRegistrationId(cardId); |
| | |
| | | if (code.equals("0")) { |
| | | orderService.delHuoQuJcsqdh(jzh); |
| | | } |
| | | // else { |
| | | // return false; |
| | | // } |
| | | } |
| | | |
| | | } |
| | |
| | | if (code1.equals("0")) { |
| | | orderService.delHuoQuJysqdh(jzh); |
| | | } |
| | | // else { |
| | | // return false; |
| | | // } |
| | | } |
| | | } |
| | | |
| | |
| | | result2 = getAjaxResult(ajaxResult); |
| | | object1 = getJSONObject(result2); |
| | | code1 = object1.getStr("ResultCode"); |
| | | // if (!code1.equals("0")) { |
| | | // return false; |
| | | // } |
| | | return true; |
| | | } |
| | | |
| | |
| | | redisCache.deleteObject(tjCustomer.getCusIdcard() + "cusId"); |
| | | if (null != tbTransitionList && tbTransitionList.size() > 0) { |
| | | |
| | | tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId())); |
| | | tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()),tjOrder.getCardId()); |
| | | |
| | | //修改每项的原价现价 |
| | | for (TbTransition transition : tbTransitionList) { |
| | |
| | | public void ttextracted(TjOrder tjOrder, TjCustomer tjCustomer, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { |
| | | |
| | | tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId())); |
| | | boolean b = tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId())); |
| | | boolean b = tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), |
| | | String.valueOf(sysUser.getUserId()),tjOrder.getCardId()); |
| | | if (!b) { |
| | | List<TjGroupingPro> proList = groupingProService.list(new LambdaQueryWrapper<TjGroupingPro>().eq(TjGroupingPro::getGroupingId, tjOrder.getGroupId())); |
| | | if (null != proList && proList.size() > 0) { |
| | |
| | | transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), BigDecimal.valueOf(Long.parseLong(tjFlowingWater.getDiscount())), tjOrder.getTjNumber()); |
| | | } |
| | | |
| | | tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId())); |
| | | tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()),tjOrder.getCardId()); |
| | | // List<TjOrderDetail> list = tjOrderDetailService.getTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId())); |
| | | // if (list != null) { |
| | | // for (TjOrderDetail tjOrderDetail : list) { |
| | |
| | | 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) { |
| | | // List<Map<String, String>> data = (List<Map<String, String>>) queryPay.get("data"); |
| | |
| | | } |
| | | |
| | | @Transactional |
| | | private void extracted(TjOrder tjOrder, TjFlowingWater tjFlowingWater) { |
| | | public void extracted(TjOrder tjOrder, TjFlowingWater tjFlowingWater) { |
| | | tjFlowingWater.setPayStasus(1L); |
| | | tjFlowingWater.setPayType(0L); |
| | | tjFlowingWater.setTollCollectorId("148"); |
| | |
| | | |
| | | } |
| | | |
| | | //修改每项的原价现价 //修改临时表体检号 |
| | | transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), discount, tjOrder.getTjNumber()); |
| | | |
| | | /*调用his接口*/ |
| | | String config = configService.selectConfigByKey("sfkqdyhis"); |
| | | if (null != config && config.equals("Y")) { |
| | | AjaxResult result = hisApiMethod.HisApiMethods(tjCustomer,tjOrder); |
| | | if (!result.get("code").toString().equals("200")) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | Object jzh = result.get("jzh"); |
| | | if(null !=jzh && null !=jzh.toString()){ |
| | | hisApiMethod.ZfHisApiMethod(jzh.toString()); |
| | | } |
| | | return AjaxResult.error("挂号失败!" + result.get("msg").toString()); |
| | | } |
| | | |
| | | log.info("该登记人的his就诊号是: "+tjOrder.getCardId()); |
| | | //团体 |
| | | if ("1".equals(tjOrder.getTjType())) { |
| | | asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater); |
| | |
| | | //asyncService.newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); |
| | | newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); |
| | | } |
| | | hisApiMethod.tijianshenqing(tjCustomer,DateUtil.format(date1,"yyyy-MM-dd HH:mm:ss"),tjOrder.getCardId()); |
| | | |
| | | //调用SQL server拿取收费情况 |
| | | //根据配置调取存储过程 将临时表数据存入预约表2023.12.12 |
| | | // final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); |
| | | // if ("Y".equals(getInfoFromSqlData)){ |
| | | // List<LtkjMiddleHead> one = testMapper.saveMiddleHeadByPatId(tjCustomer.getCusIdcard()); |
| | | // if (one!=null){ |
| | | // for (LtkjMiddleHead ltkjMiddleHead : one) { |
| | | // DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); |
| | | // headService.save(ltkjMiddleHead); |
| | | // DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | // List<LtkjMiddleDetail> detailList = testMapper.getMiddleDetailByHeadId(ltkjMiddleHead.getFeadId()); |
| | | // if (detailList!=null){ |
| | | // for (LtkjMiddleDetail ltkjMiddleDetail : detailList) { |
| | | // DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); |
| | | // middleDetailService.save(ltkjMiddleDetail); |
| | | // DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | // } |
| | | // } |
| | | // } |
| | | // |
| | | // } |
| | | // } |
| | | |
| | | |
| | | /*调用his接口*/ |
| | | String config = configService.selectConfigByKey("sfkqdyhis"); |
| | | if (null != config && config.equals("Y")) { |
| | | AjaxResult result = hisApiMethod.HisApiMethods(tjCustomer, tjOrder.getOrderId()); |
| | | if (!result.get("code").toString().equals("200")) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | Object jzh = result.get("jzh"); |
| | | if(null !=jzh && null !=jzh.toString()){ |
| | | hisApiMethod.ZfHisApiMethod(jzh.toString()); |
| | | } |
| | | return AjaxResult.error("挂号失败!" + result.get("msg").toString()); |
| | | } |
| | | return AjaxResult.success(tjNumber); |
| | | } else { |
| | | tjCustomer.setCardId(tjOrder.getTjNumber()); |
| | | tjCustomerService.updateById(tjCustomer); |
| | | transitionService.updateCardIdByTjNumAndIdCard(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), tjOrder.getTjNumber()); |
| | | tjOrder.setCardId(tjOrder.getTjNumber()); |
| | | tjOrderService.updateById(tjOrder); |
| | | } |
| | | |
| | | |
| | | //团体 |
| | | if ("1".equals(tjOrder.getTjType())) { |
| | | asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater); |
| | | } |
| | | //个人 |
| | | if ("2".equals(tjOrder.getTjType())) { |
| | | //asyncService.newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); |
| | | newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); |
| | | } |
| | | return AjaxResult.success(tjNumber); |
| | | } |
| | |
| | | public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { |
| | | tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId())); |
| | | if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) { |
| | | tjOrderDetailService.saveJSYTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId())); |
| | | tjOrderDetailService.saveJSYTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()),tjOrder.getCardId()); |
| | | } else { |
| | | tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId())); |
| | | tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()),tjOrder.getCardId()); |
| | | } |
| | | |
| | | tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId())); |
| | | //修改每项的原价现价 //修改临时表体检号 |
| | | transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), discount, tjOrder.getTjNumber()); |
| | | tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(),String.valueOf(sysUser.getUserId()),tjOrder.getCardId()); |
| | | |
| | | //添加remark表数据 |
| | | if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) { |
| | | remarkService.saveJSYTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId())); |
| | |
| | | tjFlowingWaterService.updateById(tjFlowingWater); |
| | | asyncService.addTjChargingStandard(tjOrder, transitionService.getTbTransitionListByCusId(tjCustomer.getCusIdcard(), tjOrder.getCardId()), sysUser); |
| | | } |
| | | // System.out.println("这段代码时间" + (System.currentTimeMillis() - l)); |
| | | } |
| | | |
| | | |
| | |
| | | " create_id,\n" + |
| | | " pro_type) \n" + |
| | | " \n" + |
| | | " SELECT #{orderId},a.pro_id,IFNULL(b.pro_default,''),'0',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) FROM tb_transition a LEFT JOIN tj_project b ON a.pro_id=b.pro_id WHERE a.cus_id=#{cusId} \n" + |
| | | " SELECT #{orderId},a.pro_id,IFNULL(b.pro_default,''),'0',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0)" + |
| | | " FROM tb_transition a LEFT JOIN tj_project b ON a.pro_id=b.pro_id WHERE a.cus_id=#{cusId} AND a.card_id=#{cardId} \n" + |
| | | "\t\t\n" + |
| | | "\tUNION\n" + |
| | | " \n" + |
| | | "\tSELECT #{orderId},a.parent_pro_id,IFNULL(b.pro_default,''),'0',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) FROM tb_transition a LEFT JOIN tj_project b ON a.parent_pro_id=b.pro_id WHERE a.cus_id=#{cusId} GROUP BY a.parent_pro_id") |
| | | boolean saveTjOrderDetailsByCusId(@Param("cusId")String cusId,@Param("orderId")String orderId,@Param("userName")String userName,@Param("userId") String userId); |
| | | "\tSELECT #{orderId},a.parent_pro_id,IFNULL(b.pro_default,''),'0',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) " + |
| | | "FROM tb_transition a LEFT JOIN tj_project b ON a.parent_pro_id=b.pro_id WHERE a.cus_id=#{cusId} AND a.card_id=#{cardId} GROUP BY a.parent_pro_id") |
| | | boolean saveTjOrderDetailsByCusId(@Param("cusId")String cusId,@Param("orderId")String orderId,@Param("userName")String userName,@Param("userId") String userId,@Param("cardId") String cardId); |
| | | |
| | | |
| | | @Insert("\tINSERT INTO tj_order_detail(\n" + |
| | |
| | | " create_id,\n" + |
| | | " pro_type) \n" + |
| | | " \n" + |
| | | " SELECT #{orderId},a.pro_id,IFNULL(b.pro_default,''),'1',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) FROM tb_transition a LEFT JOIN tj_project b ON a.pro_id=b.pro_id WHERE a.cus_id=#{cusId} \n" + |
| | | " SELECT #{orderId},a.pro_id,IFNULL(b.pro_default,''),'1',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) " + |
| | | "FROM tb_transition a LEFT JOIN tj_project b ON a.pro_id=b.pro_id WHERE a.cus_id=#{cusId} AND a.card_id=#{cardId} \n" + |
| | | "\t\t\n" + |
| | | "\tUNION\n" + |
| | | " \n" + |
| | | "\tSELECT #{orderId},a.parent_pro_id,IFNULL(b.pro_default,''),'0',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) FROM tb_transition a LEFT JOIN tj_project b ON a.parent_pro_id=b.pro_id WHERE a.cus_id=#{cusId} GROUP BY a.parent_pro_id") |
| | | boolean saveJSYTjOrderDetailsByCusId(@Param("cusId")String cusId,@Param("orderId")String orderId,@Param("userName")String userName,@Param("userId") String userId); |
| | | "\tSELECT #{orderId},a.parent_pro_id,IFNULL(b.pro_default,''),'0',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0)" + |
| | | " FROM tb_transition a LEFT JOIN tj_project b ON a.parent_pro_id=b.pro_id WHERE a.cus_id=#{cusId} AND a.card_id=#{cardId} GROUP BY a.parent_pro_id") |
| | | boolean saveJSYTjOrderDetailsByCusId(@Param("cusId")String cusId,@Param("orderId")String orderId,@Param("userName")String userName,@Param("userId") String userId,@Param("cardId") String cardId); |
| | | |
| | | |
| | | |
| | |
| | | "\tcreate_time,\n" + |
| | | "\tcreate_id\n" + |
| | | ")\n" + |
| | | "SELECT #{tjNum},b.cus_id,b.cus_name,'1633660948860522619','纯音听阈'," + |
| | | "SELECT #{tjNum},b.cus_id,b.cus_name,'1740177341251154247','纯音听阈'," + |
| | | "#{userName},SYSDATE(),#{userId} FROM tb_transition a LEFT JOIN tj_customer b " + |
| | | "ON a.cus_id=b.cus_idcard WHERE a.cus_id=#{cusId} AND a.parent_pro_id IN('1633660948860522619') GROUP BY a.cus_id") |
| | | boolean saveTjPureToneTesByCusId(@Param("cusId")String cusId,@Param("tjNum")String tjNum,@Param("userName")String userName,@Param("userId") String userId); |
| | | "ON a.cus_id=b.cus_idcard WHERE a.cus_id=#{cusId} AND a.card_id=#{cardId} AND a.parent_pro_id IN('1740177341251154247') GROUP BY a.cus_id") |
| | | boolean saveTjPureToneTesByCusId(@Param("cusId")String cusId,@Param("tjNum")String tjNum,@Param("userName")String userName,@Param("userId") String userId,@Param("cardId") String cardId); |
| | | |
| | | |
| | | @Update("UPDATE tj_order_detail a SET\n" + |
| | |
| | | |
| | | List<TjOrderDetail> getTjOrderDetailList(String startDate,String endDate); |
| | | |
| | | boolean saveTjOrderDetailsByCusId(String cusId,String orderId,String userName, String userId); |
| | | boolean saveTjOrderDetailsByCusId(String cusId,String orderId,String userName, String userId,String cardId); |
| | | |
| | | boolean saveJSYTjOrderDetailsByCusId(String cusId,String orderId,String userName, String userId); |
| | | boolean saveJSYTjOrderDetailsByCusId(String cusId,String orderId,String userName, String userId,String cardId); |
| | | |
| | | |
| | | boolean saveTjPureToneTesByCusId(String cusId,String tjNum,String userName, String userId); |
| | | boolean saveTjPureToneTesByCusId(String cusId,String tjNum,String userName, String userId,String cardId); |
| | | |
| | | boolean updateTjOrderDetailsByOrderId(String orderId,String userName, String userId,String ls); |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public boolean saveTjOrderDetailsByCusId(String cusId,String orderId, String userName, String userId) { |
| | | return tjOrderDetailMapper.saveTjOrderDetailsByCusId(cusId,orderId,userName,userId); |
| | | public boolean saveTjOrderDetailsByCusId(String cusId,String orderId, String userName, String userId,String cardId) { |
| | | return tjOrderDetailMapper.saveTjOrderDetailsByCusId(cusId,orderId,userName,userId,cardId); |
| | | } |
| | | |
| | | @Override |
| | | public boolean saveJSYTjOrderDetailsByCusId(String cusId, String orderId, String userName, String userId) { |
| | | return tjOrderDetailMapper.saveJSYTjOrderDetailsByCusId(cusId,orderId,userName,userId); |
| | | public boolean saveJSYTjOrderDetailsByCusId(String cusId, String orderId, String userName, String userId,String cardId) { |
| | | return tjOrderDetailMapper.saveJSYTjOrderDetailsByCusId(cusId,orderId,userName,userId,cardId); |
| | | } |
| | | |
| | | @Override |
| | | public boolean saveTjPureToneTesByCusId(String cusId, String tjNum, String userName, String userId) { |
| | | public boolean saveTjPureToneTesByCusId(String cusId, String tjNum, String userName, String userId,String cardId) { |
| | | |
| | | return tjOrderDetailMapper.saveTjPureToneTesByCusId(cusId,tjNum,userName,userId); |
| | | return tjOrderDetailMapper.saveTjPureToneTesByCusId(cusId,tjNum,userName,userId,cardId); |
| | | } |
| | | |
| | | @Override |