package com.ltkj.web.controller.his;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.copier.CopyOptions;
|
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.StrUtil;
|
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.ltkj.common.core.domain.AjaxResult;
|
import com.ltkj.common.core.domain.entity.SysUser;
|
import com.ltkj.common.utils.SecurityUtils;
|
import com.ltkj.hosp.domain.*;
|
import com.ltkj.hosp.hisDto.*;
|
import com.ltkj.hosp.service.*;
|
import com.ltkj.system.service.ISysConfigService;
|
import com.ltkj.system.service.ISysDeptService;
|
import com.ltkj.web.controller.lis.LisApiMethod;
|
import com.ltkj.web.controller.pacs.PacsApiMethodService;
|
import com.ltkj.web.controller.service.TjSysAsyncServiceImpl;
|
import com.ltkj.web.controller.system.SamplingServiceApi;
|
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.NoTransactionException;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
import javax.annotation.Resource;
|
import java.math.BigDecimal;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
import java.util.stream.Stream;
|
|
/* @Authot:zjh
|
* @Date: 2024-05-30
|
* */
|
|
@Component
|
@Slf4j
|
public class HisApiMethod {
|
@Autowired
|
private HisApiMethodService controller;
|
@Resource
|
private ITjOrderService orderService;
|
@Autowired
|
private ITjCustomerService customerService;
|
@Resource
|
private ITjOrderDetailService detailService;
|
@Resource
|
private ITjProjectService projectService;
|
@Resource
|
private ITbTransitionService tbTransitionService;
|
@Autowired
|
private HisApiConfigService hisApiConfigService;
|
@Autowired
|
private HisApiGetMethodService hisApiGetMethodService;
|
@Resource
|
private ISysDeptService deptService;
|
@Resource
|
private ITbTransitionService transitionService;
|
@Autowired
|
private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService;
|
@Autowired
|
private LtkjJfzhglmxjfxmzdService ltkjJfzhglmxjfxmzdService;
|
@Autowired
|
private LtkjMxjfxmzdService ltkjMxjfxmzdService;
|
@Autowired
|
private LtkjEjjfxmzdService ltkjEjjfxmzdService;
|
@Autowired
|
private TjCfService cfService;
|
@Autowired
|
private PacsApiMethodService pacsApiMethodService;
|
@Autowired
|
private ITjOrderDetailService tjOrderDetailService;
|
@Autowired
|
private TjSysAsyncServiceImpl tjSysAsyncService;
|
@Autowired
|
private LisApiMethod lisApiMethod;
|
@Autowired
|
private ISysConfigService configService;
|
@Autowired
|
private ITjSamplingService tjSamplingService;
|
@Autowired
|
private SamplingServiceApi samplingService;
|
@Autowired
|
private TbLisSqService tbLisSqService;
|
@Autowired
|
private TjOutpinmedicXmService tjOutpinmedicXmService;
|
|
|
//将方法返回值解析成json格式
|
public JSONObject getJSONObject(String builder) {
|
String Response = JSONUtil.parseObj(builder).getStr("Response");
|
return JSONUtil.parseObj(Response);
|
}
|
|
//获取方法返回值信息
|
public String getAjaxResult(AjaxResult result) {
|
return result.get("data").toString();
|
}
|
|
//对接his总接口 注册挂号接诊申请单操作
|
@Logger
|
public AjaxResult HisApiMethods(TjCustomer customer,TjOrder tjOrder) {
|
String jzh=null;
|
String dept = configService.selectConfigByKey("request_default_dept");
|
String ysbm = configService.selectConfigByKey("request_default_ysbm");
|
try {
|
// 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();
|
outpinregapplyDto.setPationid(customer.getPationId());
|
outpinregapplyDto.setSqysbm(ysbm);
|
outpinregapplyDto.setMzksbm(dept);
|
outpinregapplyDto.setCzybm(ysbm);
|
outpinregapplyDto.setSfjz("0");
|
outpinregapplyDto.setGhzlbm("01");
|
outpinregapplyDto.setYwckbm("0001");
|
outpinregapplyDto.setSflstd("0");
|
outpinregapplyDto.setGhrq(date);
|
//门诊挂号
|
AjaxResult ajaxResult = controller.Outpinregapply(outpinregapplyDto);
|
String result2 = getAjaxResult(ajaxResult);
|
JSONObject object1 = getJSONObject(result2);
|
String code1 = object1.getStr("ResultCode");
|
if (code1.equals("0")) {
|
JSONArray resultDatas = object1.getJSONArray("ResultData");
|
if (null != resultDatas && resultDatas.size() > 0) {
|
Map<String, Object> resultDatasss = (Map<String, Object>) resultDatas.get(0);
|
String hisRegistrationId = resultDatasss.get("his_registration_id").toString();
|
jzh=hisRegistrationId;
|
//保存挂号入参出参
|
resultDatasss.put("cardId",hisRegistrationId);
|
JSONObject object4 = JSONUtil.parseObj(resultDatasss);
|
LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpinregapply");
|
HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper);
|
hisApiGetMethodService.save(object4, "Outpinregapply", hisApiConfig, JSONUtil.toJsonStr(BeanUtil.beanToMap(outpinregapplyDto)));
|
|
//门诊医生接诊
|
AjaxResult result = controller.Outpinconapply(hisRegistrationId, date, ysbm);
|
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 {
|
customer.setCardId("0");
|
}
|
customerService.updateById(customer);
|
transitionService.updateCardIdByTjNumAndIdCard(customer.getCusIdcard(), hisRegistrationId, tjOrder.getTjNumber());
|
tjOrder.setCardId(hisRegistrationId);
|
orderService.updateById(tjOrder);
|
}
|
|
//添加体检诊断
|
OutpinimpapplyDto dto=new OutpinimpapplyDto();
|
dto.setHisRegistrationId(tjOrder.getCardId());
|
dto.setMzzdid(1);
|
dto.setSqysbm(ysbm);
|
dto.setMzksbm(dept);
|
dto.setFbrq(date);
|
dto.setZdrq(date);
|
dto.setCzybm(ysbm);
|
dto.setCzyksbm(dept);
|
dto.setZs("健康查体");
|
dto.setBs("不详");
|
dto.setClyz("");
|
dto.setJws("");
|
dto.setTgjc("");
|
dto.setGms("");
|
dto.setJbbm("Z00.001");
|
dto.setJbbm1("");
|
dto.setJbbm2("");
|
dto.setFzbz("1");
|
dto.setHzqx("6");
|
dto.setSfqc("0");
|
dto.setQchs("");
|
dto.setSfqj("0");
|
dto.setJzqk(9);
|
controller.Outpinimpapply(dto);
|
return AjaxResult.success();
|
}
|
return AjaxResult.error();
|
} catch (Exception e) {
|
e.printStackTrace();
|
return AjaxResult.error().put("jzh",jzh);
|
}
|
}
|
|
// Map<String,Object> mapJinchuan=new HashMap<>();
|
private static List<String> mapJinchuan=null;
|
public AjaxResult tijianshenqingJinchuanNew(TjCustomer customer, String date,String cardId)
|
{
|
mapJinchuan=new ArrayList<>();
|
tijianshenqingOldJinchuan( customer, date, cardId);
|
|
tijianshenqingJinchuan( customer, date, cardId);
|
return AjaxResult.success();
|
}
|
public AjaxResult tijianshenqingJinchuan(TjCustomer customer, String date,String cardId) {
|
String dept = configService.selectConfigByKey("request_default_dept");
|
String ysbm = configService.selectConfigByKey("request_default_ysbm");
|
String ysmc = configService.selectConfigByKey("request_default_ysmc");
|
|
log.info("mapJinchuan集合里面的数据是: "+mapJinchuan.toString());
|
|
List<TbTransition> detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
|
|
List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list();
|
|
//检验申请
|
List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>();
|
if (null != detailList && !detailList.isEmpty()) {
|
LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
|
wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
|
// wq.groupBy(TjProject::getHisXmbm);
|
// wq.in(TjProject::getDeptId, "241", "317");
|
wq.in(TjProject::getDeptId,deptService.getJyDeptIds());
|
List<TjProject> projects = projectService.list(wq);
|
if (null != projects && !projects.isEmpty()) {
|
List<TjProject> notNull = projects.stream().filter(i -> i.getSpecimenType() != null).collect(Collectors.toList());
|
List<TjProject> isNull = projects.stream().filter(i -> i.getSpecimenType() == null).collect(Collectors.toList());
|
Map<String, List<TjProject>> listMap = notNull.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType));
|
if (!isNull.isEmpty())
|
listMap.put("",isNull);
|
for (Map.Entry<String, List<TjProject>> entry : listMap.entrySet()) {
|
OutpintestapplyDto dto = new OutpintestapplyDto();
|
dto.setHisRegistrationId(cardId);
|
dto.setSfzh(customer.getCusIdcard());
|
dto.setSqysbm(ysbm);
|
dto.setMzksbm(dept);
|
dto.setSjrq(date);
|
dto.setCzybm(ysbm);
|
dto.setCzyksbm(dept);
|
dto.setSfjz("0");
|
List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
|
List<TjProject> value = entry.getValue();
|
for (TjProject project : value) {
|
LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
|
|
wrapper.eq(TjProject::getProParentId,project.getProId());
|
if (!mapJinchuan.isEmpty()) {
|
wrapper.notIn(TjProject::getProId, mapJinchuan);
|
wrapper.notIn(TjProject::getProParentId, mapJinchuan);
|
}
|
List<TjProject> list = projectService.list(wrapper);
|
|
log.info("检验申请集合里面的数据是: "+list.toString());
|
for (TjProject tjProject : list) {
|
if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
|
OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
|
detailsDto.setMxfyxmbm(tjProject.getHisXmbm());
|
if (tjProject.getSfzhfy().equals("Y")) {
|
detailsDto.setSfzhfy("1");
|
} else {
|
detailsDto.setSfzhfy("0");
|
}
|
detailsDto.setSl(tjProject.getSl());
|
detailsDto.setProjg(tjProject.getProPrice());
|
detailsDtos.add(detailsDto);
|
}
|
}
|
if (!outpinmedicXms.isEmpty()) {
|
outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> {
|
OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
|
detilsDto.setYpbm(i.getYpbm());
|
detilsDto.setPcbm(i.getPcbm());
|
detilsDto.setSl(i.getSl());
|
detilsDto.setDj(i.getDj());
|
detilsDto.setDcjl(i.getDcjl());
|
detilsDto.setPj(i.getPj());
|
detilsDto.setJj(i.getJj());
|
detilsDto.setJldw("");
|
detilsDto.setTjbm("");
|
detilsDto.setPs("");
|
detilsDto.setPsbm("");
|
detilsDto.setYyts("");
|
detilsDto.setXtph("");
|
detilsDto.setScph("");
|
detilsDto.setYpxq("");
|
detilsDto.setCdbm("");
|
detilsDto.setKfdw("");
|
detilsDto.setYfdw("");
|
detilsDto.setYysm("");
|
detilsDto.setYpmc(i.getYpmc());
|
detilsDto.setFzbl(i.getFzbl());
|
detilsDto.setZh(i.getZh());
|
detilsDto.setCflx(i.getCflx());
|
outpinmedicapplyDetilsDtos.add(detilsDto);
|
});
|
}
|
}
|
if (!detailsDtos.isEmpty()) {
|
dto.setDetails(detailsDtos);
|
AjaxResult ajaxResult1 = controller.Outpintestapply(dto);
|
String result5 = getAjaxResult(ajaxResult1);
|
JSONObject object3 = getJSONObject(result5);
|
String code3 = object3.getStr("ResultCode");
|
if (code3.equals("0")) {
|
List<OutpintestapplyDetailsDto> details = dto.getDetails();
|
for (OutpintestapplyDetailsDto detail : details) {
|
LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
|
tree.setCardId(dto.getHisRegistrationId());
|
tree.setPationid(customer.getPationId());
|
JSONObject resultData = object3.getJSONObject("ResultData");
|
tree.setSqdh(resultData.getStr("jysqdh"));
|
tree.setFyhj(resultData.getStr("fyhj"));
|
String mxfyxmbm = detail.getMxfyxmbm();
|
tree.setHisXmdm(mxfyxmbm);
|
tree.setType("检验");
|
tree.setService("his");
|
tree.setTjPrice(String.valueOf(detail.getProjg()));
|
LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
|
if (detail.getSfzhfy().equals("1"))
|
wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
|
else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
|
List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
|
if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
|
String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
|
LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
|
wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
|
LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
|
LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
|
wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
|
LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
|
tree.setXmfl(ejjfxmzd.getYjkmdm());
|
}
|
tree.setCreateTime(DateUtil.date());
|
ltkjJianchajianyanTreeService.save(tree);
|
}
|
// TODO 个人以及团体 暂不向采样管理写数据
|
// HIS发送无法合并操作 无法获取LIS的检验序号 条码无法打印
|
// TjOrder tjOrder = orderService.getOrderByCardId(cardId);
|
// if(null !=tjOrder){
|
// List<TjOrderDetail> dengJi = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
|
// tjSysAsyncService.addCaiYangDengJi(dengJi,!dengJi.isEmpty(),tjOrder, SecurityUtils.getLoginUser().getUser(), null);
|
// }
|
}
|
}
|
}
|
}
|
}
|
|
//门诊检查申请
|
if (null != detailList && !detailList.isEmpty()) {
|
LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
|
wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
|
wq.in(TjProject::getDeptId,deptService.getJcDeptIds());
|
List<TjProject> projects = projectService.list(wq);
|
List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList());
|
if (!proIds.isEmpty()){
|
QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>();
|
wrapper4.select("sum(sl) as sl","pro_id"
|
,"pro_parent_id","pro_name","his_xmbm","his_xmmc"
|
,"pro_price");
|
wrapper4.in("pro_parent_id",proIds);
|
wrapper4.groupBy("his_xmbm");
|
|
if (!mapJinchuan.isEmpty()) {
|
wrapper4.notIn("pro_id", mapJinchuan);
|
wrapper4.notIn("pro_parent_id", mapJinchuan);
|
}
|
|
projects = projectService.list(wrapper4);
|
if (null != projects && !projects.isEmpty()) {
|
List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>();
|
for (TjProject project : projects) {
|
if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
|
OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
|
detailsDto.setMxfyxmbm(project.getHisXmbm());
|
detailsDto.setSfzhfy("0");
|
detailsDto.setSl(project.getSl());
|
detailsDto.setProjg(project.getProPrice());
|
detailsDtoss.add(detailsDto);
|
}
|
}
|
List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
|
if (!outpinmedicXms.isEmpty()) {
|
outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
|
OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
|
detilsDto.setYpbm(i.getYpbm());
|
detilsDto.setPcbm(i.getPcbm());
|
detilsDto.setSl(i.getSl());
|
detilsDto.setDj(i.getDj());
|
detilsDto.setDcjl(i.getDcjl());
|
detilsDto.setPj(i.getPj());
|
detilsDto.setJj(i.getJj());
|
detilsDto.setJldw("");
|
detilsDto.setTjbm("");
|
detilsDto.setPs("");
|
detilsDto.setPsbm("");
|
detilsDto.setYyts("");
|
detilsDto.setXtph("");
|
detilsDto.setScph("");
|
detilsDto.setYpxq("");
|
detilsDto.setCdbm("");
|
detilsDto.setKfdw("");
|
detilsDto.setYfdw("");
|
detilsDto.setYysm("");
|
detilsDto.setYpmc(i.getYpmc());
|
detilsDto.setFzbl(i.getFzbl());
|
detilsDto.setZh(i.getZh());
|
detilsDto.setCflx(i.getCflx());
|
outpinmedicapplyDetilsDtos.add(detilsDto);
|
});
|
}
|
if (!detailsDtoss.isEmpty()) {
|
OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
|
outpinexamapplyDto.setHisRegistrationId(cardId);
|
outpinexamapplyDto.setSfzh(customer.getCusIdcard());
|
outpinexamapplyDto.setSqysbm(ysbm);
|
outpinexamapplyDto.setMzksbm(dept);
|
outpinexamapplyDto.setCzybm(ysbm);
|
outpinexamapplyDto.setCzyksbm(dept);
|
outpinexamapplyDto.setSfjz("0");
|
outpinexamapplyDto.setDetails(detailsDtoss);
|
AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto);
|
String result6 = getAjaxResult(ajaxResult2);
|
JSONObject object5 = getJSONObject(result6);
|
String code4 = object5.getStr("ResultCode");
|
if (code4.equals("0")) {
|
List<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails();
|
for (OutpintestapplyDetailsDto detail : details) {
|
LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
|
tree.setCardId(outpinexamapplyDto.getHisRegistrationId());
|
tree.setPationid(customer.getPationId());
|
JSONObject resultData = object5.getJSONObject("ResultData");
|
tree.setSqdh(resultData.getStr("jcsqdh"));
|
tree.setFyhj(resultData.getStr("fyhj"));
|
String mxfyxmbm = detail.getMxfyxmbm();
|
tree.setHisXmdm(mxfyxmbm);
|
tree.setType("检查");
|
tree.setService("his");
|
tree.setTjPrice(String.valueOf(detail.getProjg()));
|
LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
|
if (detail.getSfzhfy().equals("1"))
|
wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
|
else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
|
List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
|
if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
|
String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
|
LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
|
wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
|
LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
|
LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
|
wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
|
LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
|
tree.setXmfl(ejjfxmzd.getYjkmdm());
|
}
|
tree.setCreateTime(DateUtil.date());
|
ltkjJianchajianyanTreeService.save(tree);
|
}
|
}
|
}
|
}
|
}
|
}
|
|
|
//门诊治疗处置申请
|
OutpintreatapplyDto dao = new OutpintreatapplyDto();
|
dao.setHisRegistrationId(cardId);
|
dao.setSfzh(customer.getCusIdcard());
|
dao.setSqysbm(ysbm);
|
dao.setMzksbm(dept);
|
dao.setSjrq(date);
|
dao.setCzybm(ysbm);
|
dao.setCzyksbm(dept);
|
dao.setSfjz("0");
|
// List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
|
if (null != detailList && !detailList.isEmpty()) {
|
LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
|
wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
|
wq.in(TjProject::getDeptId,deptService.getCzDeptIds());
|
List<TjProject> projects = projectService.list(wq);
|
List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList());
|
if (!proIds.isEmpty()){
|
QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>();
|
wrapper4.select("sum(sl) as sl","pro_id"
|
,"pro_parent_id","pro_name","his_xmbm","his_xmmc"
|
,"pro_price");
|
wrapper4.in("pro_parent_id",proIds);
|
wrapper4.groupBy("his_xmbm");
|
if (!mapJinchuan.isEmpty()) {
|
wrapper4.notIn("pro_id", mapJinchuan);
|
wrapper4.notIn("pro_parent_id", mapJinchuan);
|
}
|
projects = projectService.list(wrapper4);
|
if (null != projects && !projects.isEmpty()) {
|
List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
|
for (TjProject project : projects) {
|
if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
|
if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
|
OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
|
detailsDto.setMxfyxmbm(project.getHisXmbm());
|
detailsDto.setSfzhfy("0");
|
detailsDto.setSl(project.getSl());
|
detailsDto.setProjg(project.getProPrice());
|
detailDtos.add(detailsDto);
|
}
|
}
|
}
|
List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
|
if (!outpinmedicXms.isEmpty()) {
|
outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
|
OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
|
detilsDto.setYpbm(i.getYpbm());
|
detilsDto.setPcbm(i.getPcbm());
|
detilsDto.setSl(i.getSl());
|
detilsDto.setDj(i.getDj());
|
detilsDto.setDcjl(i.getDcjl());
|
detilsDto.setPj(i.getPj());
|
detilsDto.setJj(i.getJj());
|
detilsDto.setJldw("");
|
detilsDto.setTjbm("");
|
detilsDto.setPs("");
|
detilsDto.setPsbm("");
|
detilsDto.setYyts("");
|
detilsDto.setXtph("");
|
detilsDto.setScph("");
|
detilsDto.setYpxq("");
|
detilsDto.setCdbm("");
|
detilsDto.setKfdw("");
|
detilsDto.setYfdw("");
|
detilsDto.setYysm("");
|
detilsDto.setYpmc(i.getYpmc());
|
detilsDto.setFzbl(i.getFzbl());
|
detilsDto.setZh(i.getZh());
|
detilsDto.setCflx(i.getCflx());
|
outpinmedicapplyDetilsDtos.add(detilsDto);
|
});
|
}
|
if (!detailDtos.isEmpty()) {
|
dao.setDetails(detailDtos);
|
AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao);
|
String mzylyzsq2 = getAjaxResult(mzylyzsq1);
|
JSONObject mzylyzsq3 = getJSONObject(mzylyzsq2);
|
String code5 = mzylyzsq3.getStr("ResultCode");
|
if (code5.equals("0")) {
|
List<OutpintestapplyDetailsDto> details1 = dao.getDetails();
|
for (OutpintestapplyDetailsDto detail : details1) {
|
LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
|
tree.setCardId(dao.getHisRegistrationId());
|
tree.setPationid(customer.getPationId());
|
JSONObject resultData = mzylyzsq3.getJSONObject("ResultData");
|
tree.setSqdh(resultData.getStr("zlczh"));
|
tree.setFyhj(resultData.getStr("fyhj"));
|
String mxfyxmbm = detail.getMxfyxmbm();
|
tree.setHisXmdm(mxfyxmbm);
|
tree.setType("处置");
|
tree.setTjPrice(String.valueOf(detail.getProjg()));
|
LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
|
if (detail.getSfzhfy().equals("1"))
|
wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
|
else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
|
List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
|
if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
|
String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
|
LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
|
wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
|
LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
|
LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
|
wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
|
LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
|
tree.setXmfl(ejjfxmzd.getYjkmdm());
|
}
|
tree.setCreateTime(DateUtil.date());
|
ltkjJianchajianyanTreeService.save(tree);
|
}
|
}
|
}
|
}
|
}
|
}
|
|
//药品申请原版
|
// if(!outpinmedicapplyDetilsDtos.isEmpty()){
|
// OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
|
// dto1.setHisRegistrationId(cardId);
|
// dto1.setSfzh(customer.getCusIdcard());
|
// dto1.setSqysbm(ysbm);
|
// dto1.setMzksbm(dept);
|
// dto1.setSjrq(date);
|
// String yfbm = configService.selectConfigByKey("chufang_yfbm");
|
// String mzzd = configService.selectConfigByKey("chufang_mzzd");
|
// String czybm = configService.selectConfigByKey("chufang_czybm");
|
// String czyksbm = configService.selectConfigByKey("chufang_czyksbm");
|
// String cflxbm = configService.selectConfigByKey("chufang_cflxbm");
|
// if (czybm.equalsIgnoreCase("N"))
|
// dto1.setCzybm(ysbm);
|
// else dto1.setCzybm(czybm);
|
// if (czyksbm.equalsIgnoreCase("N"))
|
// dto1.setCzyksbm(dept);
|
// else dto1.setCzyksbm(czyksbm);
|
// dto1.setCflxbm(cflxbm);
|
// if (yfbm.equalsIgnoreCase("N"))
|
// dto1.setYfbm("1");
|
// else dto1.setYfbm(yfbm);
|
// dto1.setFyts("1");
|
// if (mzzd.equalsIgnoreCase("N"))
|
// dto1.setMzzd("");
|
// else dto1.setMzzd(mzzd);
|
// dto1.setDetails(outpinmedicapplyDetilsDtos);
|
// AjaxResult result = controller.Outpinmedicapply(dto1);
|
// String result1 = getAjaxResult(result);
|
// JSONObject object = getJSONObject(result1);
|
// String code = object.getStr("ResultCode");
|
// if(null !=code && code.equals("0")){
|
// JSONObject resultData = object.getJSONObject("ResultData");
|
//// Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0);
|
// String cfh = resultData.getStr("cfh");
|
// log.info("药品申请后的处方号是: "+cfh+" outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString());
|
// for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
|
// TjCf cf=new TjCf();
|
// cf.setCardId(cardId);
|
// cf.setSfzh(customer.getCusIdcard());
|
// cf.setCfh(cfh);
|
// cf.setSqysbm(ysbm);
|
// cf.setSqysxm(ysmc);
|
// cf.setMzksbn(dept);
|
// cf.setSqrq(date);
|
// cf.setCzybm(ysbm);
|
// cf.setYpbm(detilsDto.getYpbm());
|
// cf.setYpmc(detilsDto.getYpmc());
|
// cf.setSl(String.valueOf(detilsDto.getSl()));
|
// cf.setDj(String.valueOf(detilsDto.getDj()));
|
// cf.setDcjl(String.valueOf(detilsDto.getDcjl()));
|
// cf.setPj(String.valueOf(detilsDto.getPj()));
|
// cf.setJj(String.valueOf(detilsDto.getJj()));
|
// cf.setCreateTime(new Date());
|
// cfService.save(cf);
|
// }
|
// }
|
// }
|
|
|
/**
|
* 药品申请 处方类型维护在药品表
|
*/
|
if(!outpinmedicapplyDetilsDtos.isEmpty()){
|
String yfbm = configService.selectConfigByKey("chufang_yfbm");
|
String mzzd = configService.selectConfigByKey("chufang_mzzd");
|
String czybm = configService.selectConfigByKey("chufang_czybm");
|
String czyksbm = configService.selectConfigByKey("chufang_czyksbm");
|
// String cflxbm = configService.selectConfigByKey("chufang_cflxbm");
|
Map<String, List<OutpinmedicapplyDetilsDto>> listMap = outpinmedicapplyDetilsDtos.stream().collect(Collectors.groupingBy(OutpinmedicapplyDetilsDto::getCflx));
|
listMap.forEach((cflx, details) -> {
|
OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto();
|
dto1.setHisRegistrationId(cardId);
|
dto1.setSfzh(customer.getCusIdcard());
|
dto1.setSqysbm(ysbm);
|
dto1.setMzksbm(dept);
|
dto1.setSjrq(date);
|
if (czybm.equalsIgnoreCase("N"))
|
dto1.setCzybm(ysbm);
|
else dto1.setCzybm(czybm);
|
if (czyksbm.equalsIgnoreCase("N"))
|
dto1.setCzyksbm(dept);
|
else dto1.setCzyksbm(czyksbm);
|
dto1.setCflxbm(cflx);
|
if (yfbm.equalsIgnoreCase("N"))
|
dto1.setYfbm("1");
|
else dto1.setYfbm(yfbm);
|
dto1.setFyts("1");
|
if (mzzd.equalsIgnoreCase("N"))
|
dto1.setMzzd("");
|
else dto1.setMzzd(mzzd);
|
dto1.setDetails(details);
|
AjaxResult result = controller.Outpinmedicapply(dto1);
|
String result1 = getAjaxResult(result);
|
JSONObject object = getJSONObject(result1);
|
String code = object.getStr("ResultCode");
|
if (null != code && code.equals("0")) {
|
JSONObject resultData = object.getJSONObject("ResultData");
|
String cfh = resultData.getStr("cfh");
|
log.info("药品申请后的处方号是: " + cfh + " outpinmedicapplyDetilsDtos 里面的值为: " + outpinmedicapplyDetilsDtos.toString());
|
for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
|
TjCf cf = new TjCf();
|
cf.setCardId(cardId);
|
cf.setSfzh(customer.getCusIdcard());
|
cf.setCfh(cfh);
|
cf.setSqysbm(ysbm);
|
cf.setSqysxm(ysmc);
|
cf.setMzksbn(dept);
|
cf.setSqrq(date);
|
cf.setCzybm(ysbm);
|
cf.setYpbm(detilsDto.getYpbm());
|
cf.setYpmc(detilsDto.getYpmc());
|
cf.setSl(String.valueOf(detilsDto.getSl()));
|
cf.setDj(String.valueOf(detilsDto.getDj()));
|
cf.setDcjl(String.valueOf(detilsDto.getDcjl()));
|
cf.setPj(String.valueOf(detilsDto.getPj()));
|
cf.setJj(String.valueOf(detilsDto.getJj()));
|
cf.setCreateTime(new Date());
|
cfService.save(cf);
|
}
|
}
|
});
|
}
|
|
return AjaxResult.success();
|
}
|
|
// 体检对his申请单调用方法
|
public AjaxResult tijianshenqingOldJinchuan(TjCustomer customer, String date,String cardId) {
|
String dept = configService.selectConfigByKey("request_default_dept");
|
String ysbm = configService.selectConfigByKey("request_default_ysbm");
|
String ysmc = configService.selectConfigByKey("request_default_ysmc");
|
|
List<TbTransition> detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
|
|
List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list();
|
|
//检验申请
|
OutpintestapplyDto dto = new OutpintestapplyDto();
|
dto.setHisRegistrationId(cardId);
|
dto.setSfzh(customer.getCusIdcard());
|
dto.setSqysbm(ysbm);
|
dto.setMzksbm(dept);
|
dto.setSjrq(date);
|
dto.setCzybm(ysbm);
|
dto.setCzyksbm(dept);
|
dto.setSfjz("0");
|
|
List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
|
List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>();
|
if (null != detailList && !detailList.isEmpty()) {
|
LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
|
wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
|
// wq.groupBy(TjProject::getHisXmbm);
|
// wq.in(TjProject::getDeptId, "241", "317");
|
wq.in(TjProject::getDeptId,deptService.getJyDeptIds());
|
List<TjProject> projects = projectService.list(wq);
|
if (null != projects && !projects.isEmpty()) {
|
for (TjProject project : projects) {
|
if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
|
|
if (null != project.getHisXmbm()) {
|
if (project.getSfzhfy().equals("Y")) {
|
mapJinchuan.add(project.getProId().toString());
|
//TODO 这里detailsDto 改成传递所有的小项 检验是合并之后进行发送 一个样本代码一次请求
|
// 所有的小项全部添加到这个集合之中
|
OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
|
detailsDto.setMxfyxmbm(project.getHisXmbm());
|
if (project.getSfzhfy().equals("Y")) {
|
detailsDto.setSfzhfy("1");
|
} else {
|
detailsDto.setSfzhfy("0");
|
}
|
detailsDto.setSl(project.getSl());
|
detailsDto.setProjg(project.getProPrice());
|
detailsDtos.add(detailsDto);
|
}
|
}
|
if (!outpinmedicXms.isEmpty()) {
|
outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> {
|
OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
|
detilsDto.setYpbm(i.getYpbm());
|
detilsDto.setPcbm(i.getPcbm());
|
detilsDto.setSl(i.getSl());
|
detilsDto.setDj(i.getDj());
|
detilsDto.setDcjl(i.getDcjl());
|
detilsDto.setPj(i.getPj());
|
detilsDto.setJj(i.getJj());
|
detilsDto.setJldw("");
|
detilsDto.setTjbm("");
|
detilsDto.setPs("");
|
detilsDto.setPsbm("");
|
detilsDto.setYyts("");
|
detilsDto.setXtph("");
|
detilsDto.setScph("");
|
detilsDto.setYpxq("");
|
detilsDto.setCdbm("");
|
detilsDto.setKfdw("");
|
detilsDto.setYfdw("");
|
detilsDto.setYysm("");
|
detilsDto.setYpmc(i.getYpmc());
|
detilsDto.setFzbl(i.getFzbl());
|
detilsDto.setZh(i.getZh());
|
outpinmedicapplyDetilsDtos.add(detilsDto);
|
});
|
}
|
}
|
}
|
}
|
}
|
if (!detailsDtos.isEmpty()) {
|
dto.setDetails(detailsDtos);
|
AjaxResult ajaxResult1 = controller.Outpintestapply(dto);
|
String result5 = getAjaxResult(ajaxResult1);
|
JSONObject object3 = getJSONObject(result5);
|
String code3 = object3.getStr("ResultCode");
|
if (code3.equals("0")) {
|
List<OutpintestapplyDetailsDto> details = dto.getDetails();
|
for (OutpintestapplyDetailsDto detail : details) {
|
LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
|
tree.setCardId(dto.getHisRegistrationId());
|
tree.setPationid(customer.getPationId());
|
JSONObject resultData = object3.getJSONObject("ResultData");
|
tree.setSqdh(resultData.getStr("jysqdh"));
|
tree.setFyhj(resultData.getStr("fyhj"));
|
String mxfyxmbm = detail.getMxfyxmbm();
|
tree.setHisXmdm(mxfyxmbm);
|
tree.setType("检验");
|
tree.setService("his");
|
tree.setTjPrice(String.valueOf(detail.getProjg()));
|
LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
|
if (detail.getSfzhfy().equals("1"))
|
wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
|
else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
|
List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
|
if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
|
String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
|
LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
|
wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
|
LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
|
LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
|
wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
|
LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
|
tree.setXmfl(ejjfxmzd.getYjkmdm());
|
}
|
tree.setCreateTime(DateUtil.date());
|
ltkjJianchajianyanTreeService.save(tree);
|
}
|
// TODO 个人以及团体 暂不向采样管理写数据
|
// HIS发送无法合并操作 无法获取LIS的检验序号 条码无法打印
|
// TjOrder tjOrder = orderService.getOrderByCardId(cardId);
|
// if(null !=tjOrder){
|
// List<TjOrderDetail> dengJi = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
|
// tjSysAsyncService.addCaiYangDengJi(dengJi,!dengJi.isEmpty(),tjOrder, SecurityUtils.getLoginUser().getUser(), null);
|
// }
|
}
|
}
|
|
//门诊检查申请
|
OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
|
outpinexamapplyDto.setHisRegistrationId(cardId);
|
outpinexamapplyDto.setSfzh(customer.getCusIdcard());
|
outpinexamapplyDto.setSqysbm(ysbm);
|
outpinexamapplyDto.setMzksbm(dept);
|
outpinexamapplyDto.setCzybm(ysbm);
|
outpinexamapplyDto.setCzyksbm(dept);
|
outpinexamapplyDto.setSfjz("0");
|
// List<TbTransition> detailLists = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
|
List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>();
|
if (null != detailList && !detailList.isEmpty()) {
|
LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
|
wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
|
wq.in(TjProject::getDeptId,deptService.getJcDeptIds());
|
List<TjProject> projects = projectService.list(wq);
|
if (null != projects && !projects.isEmpty()) {
|
for (TjProject project : projects) {
|
if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
|
if (null != project.getHisXmbm()) {
|
if (project.getSfzhfy().equals("Y")){
|
mapJinchuan.add(project.getProParentId().toString());
|
//TODO 这里改为小项集合 也是按照原本的查询所有的大项 然后根据大项查出自己的小项 一个大项为一次请求
|
OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
|
detailsDto.setMxfyxmbm(project.getHisXmbm());
|
if (project.getSfzhfy().equals("Y")) {
|
detailsDto.setSfzhfy("1");
|
} else {
|
detailsDto.setSfzhfy("0");
|
}
|
detailsDto.setSl(project.getSl());
|
detailsDto.setProjg(project.getProPrice());
|
detailsDtoss.add(detailsDto);
|
}
|
}
|
List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
|
if (!outpinmedicXms.isEmpty()) {
|
outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
|
OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
|
detilsDto.setYpbm(i.getYpbm());
|
detilsDto.setPcbm(i.getPcbm());
|
detilsDto.setSl(i.getSl());
|
detilsDto.setDj(i.getDj());
|
detilsDto.setDcjl(i.getDcjl());
|
detilsDto.setPj(i.getPj());
|
detilsDto.setJj(i.getJj());
|
detilsDto.setJldw("");
|
detilsDto.setTjbm("");
|
detilsDto.setPs("");
|
detilsDto.setPsbm("");
|
detilsDto.setYyts("");
|
detilsDto.setXtph("");
|
detilsDto.setScph("");
|
detilsDto.setYpxq("");
|
detilsDto.setCdbm("");
|
detilsDto.setKfdw("");
|
detilsDto.setYfdw("");
|
detilsDto.setYysm("");
|
detilsDto.setYpmc(i.getYpmc());
|
detilsDto.setFzbl(i.getFzbl());
|
detilsDto.setZh(i.getZh());
|
outpinmedicapplyDetilsDtos.add(detilsDto);
|
});
|
}
|
}
|
}
|
}
|
}
|
if (!detailsDtoss.isEmpty()) {
|
outpinexamapplyDto.setDetails(detailsDtoss);
|
AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto);
|
String result6 = getAjaxResult(ajaxResult2);
|
JSONObject object5 = getJSONObject(result6);
|
String code4 = object5.getStr("ResultCode");
|
if (code4.equals("0")) {
|
List<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails();
|
for (OutpintestapplyDetailsDto detail : details) {
|
LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
|
tree.setCardId(outpinexamapplyDto.getHisRegistrationId());
|
tree.setPationid(customer.getPationId());
|
JSONObject resultData = object5.getJSONObject("ResultData");
|
tree.setSqdh(resultData.getStr("jcsqdh"));
|
tree.setFyhj(resultData.getStr("fyhj"));
|
String mxfyxmbm = detail.getMxfyxmbm();
|
tree.setHisXmdm(mxfyxmbm);
|
tree.setType("检查");
|
tree.setService("his");
|
tree.setTjPrice(String.valueOf(detail.getProjg()));
|
LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
|
if (detail.getSfzhfy().equals("1"))
|
wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
|
else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
|
List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
|
if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
|
String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
|
LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
|
wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
|
LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
|
LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
|
wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
|
LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
|
tree.setXmfl(ejjfxmzd.getYjkmdm());
|
}
|
tree.setCreateTime(DateUtil.date());
|
ltkjJianchajianyanTreeService.save(tree);
|
}
|
}
|
}
|
|
|
//门诊治疗处置申请
|
OutpintreatapplyDto dao = new OutpintreatapplyDto();
|
dao.setHisRegistrationId(cardId);
|
dao.setSfzh(customer.getCusIdcard());
|
dao.setSqysbm(ysbm);
|
dao.setMzksbm(dept);
|
dao.setSjrq(date);
|
dao.setCzybm(ysbm);
|
dao.setCzyksbm(dept);
|
dao.setSfjz("0");
|
// List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
|
List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
|
if (null != detailList && !detailList.isEmpty()) {
|
LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
|
wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
|
wq.in(TjProject::getDeptId,deptService.getCzDeptIds());
|
List<TjProject> projects = projectService.list(wq);
|
if (null != projects && !projects.isEmpty()) {
|
for (TjProject project : projects) {
|
if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
|
if (null != project.getHisXmbm()) {
|
if (project.getSfzhfy().equals("Y")) {
|
mapJinchuan.add(project.getProParentId().toString());
|
OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
|
detailsDto.setMxfyxmbm(project.getHisXmbm());
|
if (project.getSfzhfy().equals("Y")) {
|
detailsDto.setSfzhfy("1");
|
} else {
|
detailsDto.setSfzhfy("0");
|
}
|
detailsDto.setSl(project.getSl());
|
detailsDto.setProjg(project.getProPrice());
|
detailDtos.add(detailsDto);
|
}
|
}
|
List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
|
if (!outpinmedicXms.isEmpty()) {
|
outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
|
OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
|
detilsDto.setYpbm(i.getYpbm());
|
detilsDto.setPcbm(i.getPcbm());
|
detilsDto.setSl(i.getSl());
|
detilsDto.setDj(i.getDj());
|
detilsDto.setDcjl(i.getDcjl());
|
detilsDto.setPj(i.getPj());
|
detilsDto.setJj(i.getJj());
|
detilsDto.setJldw("");
|
detilsDto.setTjbm("");
|
detilsDto.setPs("");
|
detilsDto.setPsbm("");
|
detilsDto.setYyts("");
|
detilsDto.setXtph("");
|
detilsDto.setScph("");
|
detilsDto.setYpxq("");
|
detilsDto.setCdbm("");
|
detilsDto.setKfdw("");
|
detilsDto.setYfdw("");
|
detilsDto.setYysm("");
|
detilsDto.setYpmc(i.getYpmc());
|
detilsDto.setFzbl(i.getFzbl());
|
detilsDto.setZh(i.getZh());
|
outpinmedicapplyDetilsDtos.add(detilsDto);
|
});
|
}
|
}
|
}
|
}
|
}
|
if (!detailDtos.isEmpty()) {
|
dao.setDetails(detailDtos);
|
AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao);
|
String mzylyzsq2 = getAjaxResult(mzylyzsq1);
|
JSONObject mzylyzsq3 = getJSONObject(mzylyzsq2);
|
String code5 = mzylyzsq3.getStr("ResultCode");
|
if (code5.equals("0")) {
|
List<OutpintestapplyDetailsDto> details1 = dao.getDetails();
|
for (OutpintestapplyDetailsDto detail : details1) {
|
LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
|
tree.setCardId(dao.getHisRegistrationId());
|
tree.setPationid(customer.getPationId());
|
JSONObject resultData = mzylyzsq3.getJSONObject("ResultData");
|
tree.setSqdh(resultData.getStr("zlczh"));
|
tree.setFyhj(resultData.getStr("fyhj"));
|
String mxfyxmbm = detail.getMxfyxmbm();
|
tree.setHisXmdm(mxfyxmbm);
|
tree.setType("处置");
|
tree.setTjPrice(String.valueOf(detail.getProjg()));
|
LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
|
if (detail.getSfzhfy().equals("1"))
|
wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
|
else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
|
List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
|
if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
|
String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
|
LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
|
wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
|
LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
|
LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
|
wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
|
LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
|
tree.setXmfl(ejjfxmzd.getYjkmdm());
|
}
|
tree.setCreateTime(DateUtil.date());
|
ltkjJianchajianyanTreeService.save(tree);
|
}
|
}
|
}
|
/*
|
//药品申请
|
if(!outpinmedicapplyDetilsDtos.isEmpty()){
|
OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
|
dto1.setHisRegistrationId(cardId);
|
dto1.setSfzh(customer.getCusIdcard());
|
dto1.setSqysbm(ysbm);
|
dto1.setMzksbm(dept);
|
dto1.setSjrq(date);
|
dto1.setCzybm(ysbm);
|
dto1.setCzyksbm(dept);
|
dto1.setCflxbm("A");
|
dto1.setYfbm("1");
|
dto1.setFyts("1");
|
dto1.setMzzd("");
|
dto1.setDetails(outpinmedicapplyDetilsDtos);
|
AjaxResult result = controller.Outpinmedicapply(dto1);
|
String result1 = getAjaxResult(result);
|
JSONObject object = getJSONObject(result1);
|
String code = object.getStr("ResultCode");
|
if(null !=code && code.equals("0")){
|
JSONObject resultData = object.getJSONObject("ResultData");
|
// Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0);
|
String cfh = resultData.getStr("cfh");
|
log.info("药品申请后的处方号是: "+cfh+" outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString());
|
for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
|
TjCf cf=new TjCf();
|
cf.setCardId(cardId);
|
cf.setSfzh(customer.getCusIdcard());
|
cf.setCfh(cfh);
|
cf.setSqysbm(ysbm);
|
cf.setSqysxm(ysmc);
|
cf.setMzksbn(dept);
|
cf.setSqrq(date);
|
cf.setCzybm(ysbm);
|
cf.setYpbm(detilsDto.getYpbm());
|
cf.setYpmc("尿素[14C]呼气试验药盒");
|
cf.setSl(String.valueOf(detilsDto.getSl()));
|
cf.setDj(String.valueOf(detilsDto.getDj()));
|
cf.setDcjl(String.valueOf(detilsDto.getDcjl()));
|
cf.setPj(String.valueOf(detilsDto.getPj()));
|
cf.setJj(String.valueOf(detilsDto.getJj()));
|
cf.setCreateTime(new Date());
|
cfService.save(cf);
|
}
|
}
|
}
|
*/
|
return AjaxResult.success();
|
}
|
|
/**/
|
// public AjaxResult tijianshenqing(TjCustomer customer, String date,String cardId) {
|
// String dept = configService.selectConfigByKey("request_default_dept");
|
// String ysbm = configService.selectConfigByKey("request_default_ysbm");
|
// String ysmc = configService.selectConfigByKey("request_default_ysmc");
|
//
|
// List<TbTransition> detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
|
//
|
// //检验申请
|
// List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>();
|
// if (null != detailList && !detailList.isEmpty()) {
|
// LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
|
// wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
|
//// wq.groupBy(TjProject::getHisXmbm);
|
//// wq.in(TjProject::getDeptId, "241", "317");
|
// wq.in(TjProject::getDeptId,deptService.getJyDeptIds());
|
// List<TjProject> projects = projectService.list(wq);
|
// if (null != projects && !projects.isEmpty()) {
|
// List<TjProject> notNull = projects.stream().filter(i -> i.getSpecimenType() != null).collect(Collectors.toList());
|
// List<TjProject> isNull = projects.stream().filter(i -> i.getSpecimenType() == null).collect(Collectors.toList());
|
// Map<String, List<TjProject>> listMap = notNull.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType));
|
// if (!isNull.isEmpty())
|
// listMap.put("",isNull);
|
// for (Map.Entry<String, List<TjProject>> entry : listMap.entrySet()) {
|
// OutpintestapplyDto dto = new OutpintestapplyDto();
|
// dto.setHisRegistrationId(cardId);
|
// dto.setSfzh(customer.getCusIdcard());
|
// dto.setSqysbm(ysbm);
|
// dto.setMzksbm(dept);
|
// dto.setSjrq(date);
|
// dto.setCzybm(ysbm);
|
// dto.setCzyksbm(dept);
|
// dto.setSfjz("0");
|
// List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
|
// List<TjProject> value = entry.getValue();
|
// for (TjProject project : value) {
|
// LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
|
// wrapper.eq(TjProject::getProParentId,project.getProId());
|
// List<TjProject> list = projectService.list(wrapper);
|
// for (TjProject tjProject : list) {
|
// if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
|
// OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
|
// detailsDto.setMxfyxmbm(tjProject.getHisXmbm());
|
// if (tjProject.getSfzhfy().equals("Y")) {
|
// detailsDto.setSfzhfy("1");
|
// } else {
|
// detailsDto.setSfzhfy("0");
|
// }
|
// detailsDto.setSl(tjProject.getSl());
|
// detailsDto.setProjg(tjProject.getProPrice());
|
// detailsDtos.add(detailsDto);
|
// }
|
// }
|
// if(project.getProId()==1740177341251154377L){
|
// OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
|
// detilsDto.setYpbm("00006670");
|
// detilsDto.setPcbm("06");
|
// detilsDto.setSl("1");
|
// detilsDto.setDj("60");
|
// detilsDto.setDcjl("1");
|
// detilsDto.setPj("60");
|
// detilsDto.setJj("60");
|
// detilsDto.setJldw("");
|
// detilsDto.setTjbm("");
|
// detilsDto.setPs("");
|
// detilsDto.setPsbm("");
|
// detilsDto.setYyts("");
|
// detilsDto.setXtph("");
|
// detilsDto.setScph("");
|
// detilsDto.setYpxq("");
|
// detilsDto.setCdbm("");
|
// detilsDto.setKfdw("");
|
// detilsDto.setYfdw("");
|
// detilsDto.setYysm("");
|
// detilsDto.setFzbl("1");
|
// detilsDto.setZh("0");
|
// outpinmedicapplyDetilsDtos.add(detilsDto);
|
// }
|
// }
|
// if (!detailsDtos.isEmpty()) {
|
// dto.setDetails(detailsDtos);
|
// AjaxResult ajaxResult1 = controller.Outpintestapply(dto);
|
// String result5 = getAjaxResult(ajaxResult1);
|
// JSONObject object3 = getJSONObject(result5);
|
// String code3 = object3.getStr("ResultCode");
|
// if (code3.equals("0")) {
|
// List<OutpintestapplyDetailsDto> details = dto.getDetails();
|
// for (OutpintestapplyDetailsDto detail : details) {
|
// LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
|
// tree.setCardId(dto.getHisRegistrationId());
|
// tree.setPationid(customer.getPationId());
|
// JSONObject resultData = object3.getJSONObject("ResultData");
|
// tree.setSqdh(resultData.getStr("jysqdh"));
|
// tree.setFyhj(resultData.getStr("fyhj"));
|
// String mxfyxmbm = detail.getMxfyxmbm();
|
// tree.setHisXmdm(mxfyxmbm);
|
// tree.setType("检验");
|
// tree.setService("his");
|
// tree.setTjPrice(String.valueOf(detail.getProjg()));
|
// LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
|
// if (detail.getSfzhfy().equals("1"))
|
// wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
|
// else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
|
// List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
|
// if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
|
// String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
|
// LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
|
// wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
|
// LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
|
// LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
|
// wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
|
// LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
|
// tree.setXmfl(ejjfxmzd.getYjkmdm());
|
// }
|
// tree.setCreateTime(DateUtil.date());
|
// ltkjJianchajianyanTreeService.save(tree);
|
// }
|
// // TODO 个人以及团体 暂不向采样管理写数据
|
// // HIS发送无法合并操作 无法获取LIS的检验序号 条码无法打印
|
//// TjOrder tjOrder = orderService.getOrderByCardId(cardId);
|
//// if(null !=tjOrder){
|
//// List<TjOrderDetail> dengJi = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
|
//// tjSysAsyncService.addCaiYangDengJi(dengJi,!dengJi.isEmpty(),tjOrder, SecurityUtils.getLoginUser().getUser(), null);
|
//// }
|
// }
|
// }
|
// }
|
// }
|
// }
|
//
|
// //门诊检查申请
|
// if (null != detailList && !detailList.isEmpty()) {
|
// LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
|
// wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
|
// wq.in(TjProject::getDeptId,deptService.getJcDeptIds());
|
// List<TjProject> projects = projectService.list(wq);
|
// if (null != projects && !projects.isEmpty()) {
|
// for (TjProject project : projects) {
|
// OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
|
// outpinexamapplyDto.setHisRegistrationId(cardId);
|
// outpinexamapplyDto.setSfzh(customer.getCusIdcard());
|
// outpinexamapplyDto.setSqysbm(ysbm);
|
// outpinexamapplyDto.setMzksbm(dept);
|
// outpinexamapplyDto.setCzybm(ysbm);
|
// outpinexamapplyDto.setCzyksbm(dept);
|
// outpinexamapplyDto.setSfjz("0");
|
// List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>();
|
// if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
|
// LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
|
// wrapper.eq(TjProject::getProParentId,project.getProId());
|
// List<TjProject> list = projectService.list(wrapper);
|
// for (TjProject tjProject : list) {
|
// if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
|
// OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
|
// detailsDto.setMxfyxmbm(tjProject.getHisXmbm());
|
// if (tjProject.getSfzhfy().equals("Y")) {
|
// detailsDto.setSfzhfy("1");
|
// } else {
|
// detailsDto.setSfzhfy("0");
|
// }
|
// detailsDto.setSl(tjProject.getSl());
|
// detailsDto.setProjg(tjProject.getProPrice());
|
// detailsDtoss.add(detailsDto);
|
// }
|
// }
|
// if(project.getProId()==1740177341251154377L){
|
// OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
|
// detilsDto.setYpbm("00006670");
|
// detilsDto.setPcbm("06");
|
// detilsDto.setSl("1");
|
// detilsDto.setDj("60");
|
// detilsDto.setDcjl("1");
|
// detilsDto.setPj("60");
|
// detilsDto.setJj("60");
|
// detilsDto.setJldw("");
|
// detilsDto.setTjbm("");
|
// detilsDto.setPs("");
|
// detilsDto.setPsbm("");
|
// detilsDto.setYyts("");
|
// detilsDto.setXtph("");
|
// detilsDto.setScph("");
|
// detilsDto.setYpxq("");
|
// detilsDto.setCdbm("");
|
// detilsDto.setKfdw("");
|
// detilsDto.setYfdw("");
|
// detilsDto.setYysm("");
|
// detilsDto.setFzbl("1");
|
// detilsDto.setZh("0");
|
// outpinmedicapplyDetilsDtos.add(detilsDto);
|
// }
|
// }
|
// if (detailsDtoss.size() > 0) {
|
// outpinexamapplyDto.setDetails(detailsDtoss);
|
// AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto);
|
// String result6 = getAjaxResult(ajaxResult2);
|
// JSONObject object5 = getJSONObject(result6);
|
// String code4 = object5.getStr("ResultCode");
|
// if (code4.equals("0")) {
|
// List<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails();
|
// for (OutpintestapplyDetailsDto detail : details) {
|
// LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
|
// tree.setCardId(outpinexamapplyDto.getHisRegistrationId());
|
// tree.setPationid(customer.getPationId());
|
// JSONObject resultData = object5.getJSONObject("ResultData");
|
// tree.setSqdh(resultData.getStr("jcsqdh"));
|
// tree.setFyhj(resultData.getStr("fyhj"));
|
// String mxfyxmbm = detail.getMxfyxmbm();
|
// tree.setHisXmdm(mxfyxmbm);
|
// tree.setType("检查");
|
// tree.setService("his");
|
// tree.setTjPrice(String.valueOf(detail.getProjg()));
|
// LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
|
// if (detail.getSfzhfy().equals("1"))
|
// wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
|
// else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
|
// List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
|
// if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
|
// String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
|
// LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
|
// wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
|
// LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
|
// LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
|
// wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
|
// LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
|
// tree.setXmfl(ejjfxmzd.getYjkmdm());
|
// }
|
// tree.setCreateTime(DateUtil.date());
|
// ltkjJianchajianyanTreeService.save(tree);
|
// }
|
// }
|
// }
|
// }
|
// }
|
// }
|
//
|
//
|
// //门诊治疗处置申请
|
// OutpintreatapplyDto dao = new OutpintreatapplyDto();
|
// dao.setHisRegistrationId(cardId);
|
// dao.setSfzh(customer.getCusIdcard());
|
// dao.setSqysbm(ysbm);
|
// dao.setMzksbm(dept);
|
// dao.setSjrq(date);
|
// dao.setCzybm(ysbm);
|
// dao.setCzyksbm(dept);
|
// dao.setSfjz("0");
|
//// List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
|
// if (null != detailList && detailList.size() > 0) {
|
// LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
|
// wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
|
// wq.in(TjProject::getDeptId,deptService.getCzDeptIds());
|
// List<TjProject> projects = projectService.list(wq);
|
// if (null != projects && projects.size() > 0) {
|
// for (TjProject project : projects) {
|
// List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
|
// if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
|
// LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
|
// wrapper.eq(TjProject::getProParentId,project.getProId());
|
// List<TjProject> list = projectService.list(wrapper);
|
// for (TjProject tjProject : list) {
|
// if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
|
// OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
|
// detailsDto.setMxfyxmbm(tjProject.getHisXmbm());
|
// if (tjProject.getSfzhfy().equals("Y")) {
|
// detailsDto.setSfzhfy("1");
|
// } else {
|
// detailsDto.setSfzhfy("0");
|
// }
|
// detailsDto.setSl(tjProject.getSl());
|
// detailsDto.setProjg(tjProject.getProPrice());
|
// detailDtos.add(detailsDto);
|
// }
|
// }
|
// if(project.getProId()==1740177341251154377L){
|
// OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
|
// detilsDto.setYpbm("00006670");
|
// detilsDto.setPcbm("06");
|
// detilsDto.setSl("1");
|
// detilsDto.setDj("60");
|
// detilsDto.setDcjl("1");
|
// detilsDto.setPj("60");
|
// detilsDto.setJj("60");
|
// detilsDto.setJldw("");
|
// detilsDto.setTjbm("");
|
// detilsDto.setPs("");
|
// detilsDto.setPsbm("");
|
// detilsDto.setYyts("");
|
// detilsDto.setXtph("");
|
// detilsDto.setScph("");
|
// detilsDto.setYpxq("");
|
// detilsDto.setCdbm("");
|
// detilsDto.setKfdw("");
|
// detilsDto.setYfdw("");
|
// detilsDto.setYysm("");
|
// detilsDto.setFzbl("1");
|
// detilsDto.setZh("0");
|
// outpinmedicapplyDetilsDtos.add(detilsDto);
|
// }
|
// }
|
// if (detailDtos.size() > 0) {
|
// dao.setDetails(detailDtos);
|
// AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao);
|
// String mzylyzsq2 = getAjaxResult(mzylyzsq1);
|
// JSONObject mzylyzsq3 = getJSONObject(mzylyzsq2);
|
// String code5 = mzylyzsq3.getStr("ResultCode");
|
// if (code5.equals("0")) {
|
// List<OutpintestapplyDetailsDto> details1 = dao.getDetails();
|
// for (OutpintestapplyDetailsDto detail : details1) {
|
// LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
|
// tree.setCardId(dao.getHisRegistrationId());
|
// tree.setPationid(customer.getPationId());
|
// JSONObject resultData = mzylyzsq3.getJSONObject("ResultData");
|
// tree.setSqdh(resultData.getStr("zlczh"));
|
// tree.setFyhj(resultData.getStr("fyhj"));
|
// String mxfyxmbm = detail.getMxfyxmbm();
|
// tree.setHisXmdm(mxfyxmbm);
|
// tree.setType("处置");
|
// tree.setTjPrice(String.valueOf(detail.getProjg()));
|
// LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
|
// if (detail.getSfzhfy().equals("1"))
|
// wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
|
// else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
|
// List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
|
// if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
|
// String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
|
// LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
|
// wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
|
// LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
|
// LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
|
// wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
|
// LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
|
// tree.setXmfl(ejjfxmzd.getYjkmdm());
|
// }
|
// tree.setCreateTime(DateUtil.date());
|
// ltkjJianchajianyanTreeService.save(tree);
|
// }
|
// }
|
// }
|
// }
|
// }
|
// }
|
//
|
// //药品申请
|
// if(outpinmedicapplyDetilsDtos.size()>0){
|
// OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
|
// dto1.setHisRegistrationId(cardId);
|
// dto1.setSfzh(customer.getCusIdcard());
|
// dto1.setSqysbm(ysbm);
|
// dto1.setMzksbm(dept);
|
// dto1.setSjrq(date);
|
// dto1.setCzybm(ysbm);
|
// dto1.setCzyksbm(dept);
|
// dto1.setCflxbm("A");
|
// dto1.setYfbm("1");
|
// dto1.setFyts("1");
|
// dto1.setMzzd("");
|
// dto1.setDetails(outpinmedicapplyDetilsDtos);
|
// AjaxResult result = controller.Outpinmedicapply(dto1);
|
// String result1 = getAjaxResult(result);
|
// JSONObject object = getJSONObject(result1);
|
// String code = object.getStr("ResultCode");
|
// if(null !=code && code.equals("0")){
|
// JSONObject resultData = object.getJSONObject("ResultData");
|
//// Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0);
|
// String cfh = resultData.getStr("cfh");
|
// log.info("药品申请后的处方号是: "+cfh+" outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString());
|
// for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
|
// TjCf cf=new TjCf();
|
// cf.setCardId(cardId);
|
// cf.setSfzh(customer.getCusIdcard());
|
// cf.setCfh(cfh);
|
// cf.setSqysbm(ysbm);
|
// cf.setSqysxm(ysmc);
|
// cf.setMzksbn(dept);
|
// cf.setSqrq(date);
|
// cf.setCzybm(ysbm);
|
// cf.setYpbm(detilsDto.getYpbm());
|
// cf.setYpmc("尿素[14C]呼气试验药盒");
|
// cf.setSl(String.valueOf(detilsDto.getSl()));
|
// cf.setDj(String.valueOf(detilsDto.getDj()));
|
// cf.setDcjl(String.valueOf(detilsDto.getDcjl()));
|
// cf.setPj(String.valueOf(detilsDto.getPj()));
|
// cf.setJj(String.valueOf(detilsDto.getJj()));
|
// cf.setCreateTime(new Date());
|
// cfService.save(cf);
|
// }
|
// }
|
// }
|
//
|
// return AjaxResult.success();
|
// }
|
|
public AjaxResult tijianshenqing(TjCustomer customer, String date,String cardId) {
|
String dept = configService.selectConfigByKey("request_default_dept");
|
String ysbm = configService.selectConfigByKey("request_default_ysbm");
|
String ysmc = configService.selectConfigByKey("request_default_ysmc");
|
|
List<TbTransition> detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
|
|
List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list();
|
|
//检验申请
|
List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>();
|
if (null != detailList && !detailList.isEmpty()) {
|
LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
|
wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
|
// wq.groupBy(TjProject::getHisXmbm);
|
// wq.in(TjProject::getDeptId, "241", "317");
|
wq.in(TjProject::getDeptId,deptService.getJyDeptIds());
|
List<TjProject> projects = projectService.list(wq);
|
if (null != projects && !projects.isEmpty()) {
|
List<TjProject> notNull = projects.stream().filter(i -> i.getSpecimenType() != null).collect(Collectors.toList());
|
List<TjProject> isNull = projects.stream().filter(i -> i.getSpecimenType() == null).collect(Collectors.toList());
|
Map<String, List<TjProject>> listMap = notNull.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType));
|
if (!isNull.isEmpty())
|
listMap.put("",isNull);
|
for (Map.Entry<String, List<TjProject>> entry : listMap.entrySet()) {
|
OutpintestapplyDto dto = new OutpintestapplyDto();
|
dto.setHisRegistrationId(cardId);
|
dto.setSfzh(customer.getCusIdcard());
|
dto.setSqysbm(ysbm);
|
dto.setMzksbm(dept);
|
dto.setSjrq(date);
|
dto.setCzybm(ysbm);
|
dto.setCzyksbm(dept);
|
dto.setSfjz("0");
|
List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
|
List<TjProject> value = entry.getValue();
|
for (TjProject project : value) {
|
LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
|
wrapper.eq(TjProject::getProParentId,project.getProId());
|
List<TjProject> list = projectService.list(wrapper);
|
for (TjProject tjProject : list) {
|
if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
|
OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
|
detailsDto.setMxfyxmbm(tjProject.getHisXmbm());
|
if (tjProject.getSfzhfy().equals("Y")) {
|
detailsDto.setSfzhfy("1");
|
} else {
|
detailsDto.setSfzhfy("0");
|
}
|
detailsDto.setSl(tjProject.getSl());
|
detailsDto.setProjg(tjProject.getProPrice());
|
detailsDtos.add(detailsDto);
|
}
|
}
|
if (!outpinmedicXms.isEmpty()) {
|
outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> {
|
OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
|
detilsDto.setYpbm(i.getYpbm());
|
detilsDto.setPcbm(i.getPcbm());
|
detilsDto.setSl(i.getSl());
|
detilsDto.setDj(i.getDj());
|
detilsDto.setDcjl(i.getDcjl());
|
detilsDto.setPj(i.getPj());
|
detilsDto.setJj(i.getJj());
|
detilsDto.setJldw("");
|
detilsDto.setTjbm("");
|
detilsDto.setPs("");
|
detilsDto.setPsbm("");
|
detilsDto.setYyts("");
|
detilsDto.setXtph("");
|
detilsDto.setScph("");
|
detilsDto.setYpxq("");
|
detilsDto.setCdbm("");
|
detilsDto.setKfdw("");
|
detilsDto.setYfdw("");
|
detilsDto.setYysm("");
|
detilsDto.setYpmc(i.getYpmc());
|
detilsDto.setFzbl(i.getFzbl());
|
detilsDto.setZh(i.getZh());
|
detilsDto.setCflx(i.getCflx());
|
outpinmedicapplyDetilsDtos.add(detilsDto);
|
});
|
}
|
}
|
if (!detailsDtos.isEmpty()) {
|
dto.setDetails(detailsDtos);
|
AjaxResult ajaxResult1 = controller.Outpintestapply(dto);
|
String result5 = getAjaxResult(ajaxResult1);
|
JSONObject object3 = getJSONObject(result5);
|
String code3 = object3.getStr("ResultCode");
|
if (code3.equals("0")) {
|
List<OutpintestapplyDetailsDto> details = dto.getDetails();
|
for (OutpintestapplyDetailsDto detail : details) {
|
LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
|
tree.setCardId(dto.getHisRegistrationId());
|
tree.setPationid(customer.getPationId());
|
JSONObject resultData = object3.getJSONObject("ResultData");
|
tree.setSqdh(resultData.getStr("jysqdh"));
|
tree.setFyhj(resultData.getStr("fyhj"));
|
String mxfyxmbm = detail.getMxfyxmbm();
|
tree.setHisXmdm(mxfyxmbm);
|
tree.setType("检验");
|
tree.setService("his");
|
tree.setTjPrice(String.valueOf(detail.getProjg()));
|
LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
|
if (detail.getSfzhfy().equals("1"))
|
wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
|
else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
|
List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
|
if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
|
String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
|
LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
|
wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
|
LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
|
LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
|
wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
|
LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
|
tree.setXmfl(ejjfxmzd.getYjkmdm());
|
}
|
tree.setCreateTime(DateUtil.date());
|
ltkjJianchajianyanTreeService.save(tree);
|
}
|
// TODO 个人以及团体 暂不向采样管理写数据
|
// HIS发送无法合并操作 无法获取LIS的检验序号 条码无法打印
|
// TjOrder tjOrder = orderService.getOrderByCardId(cardId);
|
// if(null !=tjOrder){
|
// List<TjOrderDetail> dengJi = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
|
// tjSysAsyncService.addCaiYangDengJi(dengJi,!dengJi.isEmpty(),tjOrder, SecurityUtils.getLoginUser().getUser(), null);
|
// }
|
}
|
}
|
}
|
}
|
}
|
|
//门诊检查申请
|
if (null != detailList && !detailList.isEmpty()) {
|
LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
|
wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
|
wq.in(TjProject::getDeptId,deptService.getJcDeptIds());
|
List<TjProject> projects = projectService.list(wq);
|
List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList());
|
if (!proIds.isEmpty()){
|
QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>();
|
wrapper4.select("sum(sl) as sl","pro_id"
|
,"pro_parent_id","pro_name","his_xmbm","his_xmmc"
|
,"pro_price");
|
wrapper4.in("pro_parent_id",proIds);
|
wrapper4.groupBy("his_xmbm");
|
projects = projectService.list(wrapper4);
|
if (null != projects && !projects.isEmpty()) {
|
List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>();
|
for (TjProject project : projects) {
|
if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
|
OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
|
detailsDto.setMxfyxmbm(project.getHisXmbm());
|
detailsDto.setSfzhfy("0");
|
detailsDto.setSl(project.getSl());
|
detailsDto.setProjg(project.getProPrice());
|
detailsDtoss.add(detailsDto);
|
}
|
}
|
List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
|
if (!outpinmedicXms.isEmpty()) {
|
outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
|
OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
|
detilsDto.setYpbm(i.getYpbm());
|
detilsDto.setPcbm(i.getPcbm());
|
detilsDto.setSl(i.getSl());
|
detilsDto.setDj(i.getDj());
|
detilsDto.setDcjl(i.getDcjl());
|
detilsDto.setPj(i.getPj());
|
detilsDto.setJj(i.getJj());
|
detilsDto.setJldw("");
|
detilsDto.setTjbm("");
|
detilsDto.setPs("");
|
detilsDto.setPsbm("");
|
detilsDto.setYyts("");
|
detilsDto.setXtph("");
|
detilsDto.setScph("");
|
detilsDto.setYpxq("");
|
detilsDto.setCdbm("");
|
detilsDto.setKfdw("");
|
detilsDto.setYfdw("");
|
detilsDto.setYysm("");
|
detilsDto.setYpmc(i.getYpmc());
|
detilsDto.setFzbl(i.getFzbl());
|
detilsDto.setZh(i.getZh());
|
detilsDto.setCflx(i.getCflx());
|
outpinmedicapplyDetilsDtos.add(detilsDto);
|
});
|
}
|
if (!detailsDtoss.isEmpty()) {
|
OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
|
outpinexamapplyDto.setHisRegistrationId(cardId);
|
outpinexamapplyDto.setSfzh(customer.getCusIdcard());
|
outpinexamapplyDto.setSqysbm(ysbm);
|
outpinexamapplyDto.setMzksbm(dept);
|
outpinexamapplyDto.setCzybm(ysbm);
|
outpinexamapplyDto.setCzyksbm(dept);
|
outpinexamapplyDto.setSfjz("0");
|
outpinexamapplyDto.setDetails(detailsDtoss);
|
AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto);
|
String result6 = getAjaxResult(ajaxResult2);
|
JSONObject object5 = getJSONObject(result6);
|
String code4 = object5.getStr("ResultCode");
|
if (code4.equals("0")) {
|
List<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails();
|
for (OutpintestapplyDetailsDto detail : details) {
|
LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
|
tree.setCardId(outpinexamapplyDto.getHisRegistrationId());
|
tree.setPationid(customer.getPationId());
|
JSONObject resultData = object5.getJSONObject("ResultData");
|
tree.setSqdh(resultData.getStr("jcsqdh"));
|
tree.setFyhj(resultData.getStr("fyhj"));
|
String mxfyxmbm = detail.getMxfyxmbm();
|
tree.setHisXmdm(mxfyxmbm);
|
tree.setType("检查");
|
tree.setService("his");
|
tree.setTjPrice(String.valueOf(detail.getProjg()));
|
LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
|
if (detail.getSfzhfy().equals("1"))
|
wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
|
else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
|
List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
|
if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
|
String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
|
LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
|
wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
|
LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
|
LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
|
wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
|
LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
|
tree.setXmfl(ejjfxmzd.getYjkmdm());
|
}
|
tree.setCreateTime(DateUtil.date());
|
ltkjJianchajianyanTreeService.save(tree);
|
}
|
}
|
}
|
}
|
}
|
}
|
|
|
//门诊治疗处置申请
|
OutpintreatapplyDto dao = new OutpintreatapplyDto();
|
dao.setHisRegistrationId(cardId);
|
dao.setSfzh(customer.getCusIdcard());
|
dao.setSqysbm(ysbm);
|
dao.setMzksbm(dept);
|
dao.setSjrq(date);
|
dao.setCzybm(ysbm);
|
dao.setCzyksbm(dept);
|
dao.setSfjz("0");
|
// List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
|
if (null != detailList && !detailList.isEmpty()) {
|
LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
|
wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
|
wq.in(TjProject::getDeptId,deptService.getCzDeptIds());
|
List<TjProject> projects = projectService.list(wq);
|
List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList());
|
if (!proIds.isEmpty()){
|
QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>();
|
wrapper4.select("sum(sl) as sl","pro_id"
|
,"pro_parent_id","pro_name","his_xmbm","his_xmmc"
|
,"pro_price");
|
wrapper4.in("pro_parent_id",proIds);
|
wrapper4.groupBy("his_xmbm");
|
projects = projectService.list(wrapper4);
|
if (null != projects && !projects.isEmpty()) {
|
List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
|
for (TjProject project : projects) {
|
if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
|
if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
|
OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
|
detailsDto.setMxfyxmbm(project.getHisXmbm());
|
detailsDto.setSfzhfy("0");
|
detailsDto.setSl(project.getSl());
|
detailsDto.setProjg(project.getProPrice());
|
detailDtos.add(detailsDto);
|
}
|
}
|
}
|
List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
|
if (!outpinmedicXms.isEmpty()) {
|
outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
|
OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
|
detilsDto.setYpbm(i.getYpbm());
|
detilsDto.setPcbm(i.getPcbm());
|
detilsDto.setSl(i.getSl());
|
detilsDto.setDj(i.getDj());
|
detilsDto.setDcjl(i.getDcjl());
|
detilsDto.setPj(i.getPj());
|
detilsDto.setJj(i.getJj());
|
detilsDto.setJldw("");
|
detilsDto.setTjbm("");
|
detilsDto.setPs("");
|
detilsDto.setPsbm("");
|
detilsDto.setYyts("");
|
detilsDto.setXtph("");
|
detilsDto.setScph("");
|
detilsDto.setYpxq("");
|
detilsDto.setCdbm("");
|
detilsDto.setKfdw("");
|
detilsDto.setYfdw("");
|
detilsDto.setYysm("");
|
detilsDto.setYpmc(i.getYpmc());
|
detilsDto.setFzbl(i.getFzbl());
|
detilsDto.setZh(i.getZh());
|
detilsDto.setCflx(i.getCflx());
|
outpinmedicapplyDetilsDtos.add(detilsDto);
|
});
|
}
|
if (!detailDtos.isEmpty()) {
|
dao.setDetails(detailDtos);
|
AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao);
|
String mzylyzsq2 = getAjaxResult(mzylyzsq1);
|
JSONObject mzylyzsq3 = getJSONObject(mzylyzsq2);
|
String code5 = mzylyzsq3.getStr("ResultCode");
|
if (code5.equals("0")) {
|
List<OutpintestapplyDetailsDto> details1 = dao.getDetails();
|
for (OutpintestapplyDetailsDto detail : details1) {
|
LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
|
tree.setCardId(dao.getHisRegistrationId());
|
tree.setPationid(customer.getPationId());
|
JSONObject resultData = mzylyzsq3.getJSONObject("ResultData");
|
tree.setSqdh(resultData.getStr("zlczh"));
|
tree.setFyhj(resultData.getStr("fyhj"));
|
String mxfyxmbm = detail.getMxfyxmbm();
|
tree.setHisXmdm(mxfyxmbm);
|
tree.setType("处置");
|
tree.setTjPrice(String.valueOf(detail.getProjg()));
|
LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
|
if (detail.getSfzhfy().equals("1"))
|
wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
|
else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
|
List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
|
if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
|
String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
|
LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
|
wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
|
LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
|
LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
|
wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
|
LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
|
tree.setXmfl(ejjfxmzd.getYjkmdm());
|
}
|
tree.setCreateTime(DateUtil.date());
|
ltkjJianchajianyanTreeService.save(tree);
|
}
|
}
|
}
|
}
|
}
|
}
|
|
//药品申请 原版
|
// if(!outpinmedicapplyDetilsDtos.isEmpty()){
|
// OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
|
// dto1.setHisRegistrationId(cardId);
|
// dto1.setSfzh(customer.getCusIdcard());
|
// dto1.setSqysbm(ysbm);
|
// dto1.setMzksbm(dept);
|
// dto1.setSjrq(date);
|
// String yfbm = configService.selectConfigByKey("chufang_yfbm");
|
// String mzzd = configService.selectConfigByKey("chufang_mzzd");
|
// String czybm = configService.selectConfigByKey("chufang_czybm");
|
// String czyksbm = configService.selectConfigByKey("chufang_czyksbm");
|
// String cflxbm = configService.selectConfigByKey("chufang_cflxbm");
|
// if (czybm.equalsIgnoreCase("N"))
|
// dto1.setCzybm(ysbm);
|
// else dto1.setCzybm(czybm);
|
// if (czyksbm.equalsIgnoreCase("N"))
|
// dto1.setCzyksbm(dept);
|
// else dto1.setCzyksbm(czyksbm);
|
// dto1.setCflxbm(cflxbm);
|
// if (yfbm.equalsIgnoreCase("N"))
|
// dto1.setYfbm("1");
|
// else dto1.setYfbm(yfbm);
|
// dto1.setFyts("1");
|
// if (mzzd.equalsIgnoreCase("N"))
|
// dto1.setMzzd("");
|
// else dto1.setMzzd(mzzd);
|
// dto1.setDetails(outpinmedicapplyDetilsDtos);
|
// AjaxResult result = controller.Outpinmedicapply(dto1);
|
// String result1 = getAjaxResult(result);
|
// JSONObject object = getJSONObject(result1);
|
// String code = object.getStr("ResultCode");
|
// if(null !=code && code.equals("0")){
|
// JSONObject resultData = object.getJSONObject("ResultData");
|
//// Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0);
|
// String cfh = resultData.getStr("cfh");
|
// log.info("药品申请后的处方号是: "+cfh+" outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString());
|
// for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
|
// TjCf cf=new TjCf();
|
// cf.setCardId(cardId);
|
// cf.setSfzh(customer.getCusIdcard());
|
// cf.setCfh(cfh);
|
// cf.setSqysbm(ysbm);
|
// cf.setSqysxm(ysmc);
|
// cf.setMzksbn(dept);
|
// cf.setSqrq(date);
|
// cf.setCzybm(ysbm);
|
// cf.setYpbm(detilsDto.getYpbm());
|
// cf.setYpmc(detilsDto.getYpmc());
|
// cf.setSl(String.valueOf(detilsDto.getSl()));
|
// cf.setDj(String.valueOf(detilsDto.getDj()));
|
// cf.setDcjl(String.valueOf(detilsDto.getDcjl()));
|
// cf.setPj(String.valueOf(detilsDto.getPj()));
|
// cf.setJj(String.valueOf(detilsDto.getJj()));
|
// cf.setCreateTime(new Date());
|
// cfService.save(cf);
|
// }
|
// }
|
// }
|
|
/**
|
* 药品申请 处方类型维护在药品表
|
*/
|
if(!outpinmedicapplyDetilsDtos.isEmpty()){
|
String yfbm = configService.selectConfigByKey("chufang_yfbm");
|
String mzzd = configService.selectConfigByKey("chufang_mzzd");
|
String czybm = configService.selectConfigByKey("chufang_czybm");
|
String czyksbm = configService.selectConfigByKey("chufang_czyksbm");
|
// String cflxbm = configService.selectConfigByKey("chufang_cflxbm");
|
Map<String, List<OutpinmedicapplyDetilsDto>> listMap = outpinmedicapplyDetilsDtos.stream().collect(Collectors.groupingBy(OutpinmedicapplyDetilsDto::getCflx));
|
listMap.forEach((cflx, details) -> {
|
OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto();
|
dto1.setHisRegistrationId(cardId);
|
dto1.setSfzh(customer.getCusIdcard());
|
dto1.setSqysbm(ysbm);
|
dto1.setMzksbm(dept);
|
dto1.setSjrq(date);
|
if (czybm.equalsIgnoreCase("N"))
|
dto1.setCzybm(ysbm);
|
else dto1.setCzybm(czybm);
|
if (czyksbm.equalsIgnoreCase("N"))
|
dto1.setCzyksbm(dept);
|
else dto1.setCzyksbm(czyksbm);
|
dto1.setCflxbm(cflx);
|
if (yfbm.equalsIgnoreCase("N"))
|
dto1.setYfbm("1");
|
else dto1.setYfbm(yfbm);
|
dto1.setFyts("1");
|
if (mzzd.equalsIgnoreCase("N"))
|
dto1.setMzzd("");
|
else dto1.setMzzd(mzzd);
|
dto1.setDetails(details);
|
AjaxResult result = controller.Outpinmedicapply(dto1);
|
String result1 = getAjaxResult(result);
|
JSONObject object = getJSONObject(result1);
|
String code = object.getStr("ResultCode");
|
if (null != code && code.equals("0")) {
|
JSONObject resultData = object.getJSONObject("ResultData");
|
String cfh = resultData.getStr("cfh");
|
log.info("药品申请后的处方号是: " + cfh + " outpinmedicapplyDetilsDtos 里面的值为: " + outpinmedicapplyDetilsDtos.toString());
|
for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
|
TjCf cf = new TjCf();
|
cf.setCardId(cardId);
|
cf.setSfzh(customer.getCusIdcard());
|
cf.setCfh(cfh);
|
cf.setSqysbm(ysbm);
|
cf.setSqysxm(ysmc);
|
cf.setMzksbn(dept);
|
cf.setSqrq(date);
|
cf.setCzybm(ysbm);
|
cf.setYpbm(detilsDto.getYpbm());
|
cf.setYpmc(detilsDto.getYpmc());
|
cf.setSl(String.valueOf(detilsDto.getSl()));
|
cf.setDj(String.valueOf(detilsDto.getDj()));
|
cf.setDcjl(String.valueOf(detilsDto.getDcjl()));
|
cf.setPj(String.valueOf(detilsDto.getPj()));
|
cf.setJj(String.valueOf(detilsDto.getJj()));
|
cf.setCreateTime(new Date());
|
cfService.save(cf);
|
}
|
}
|
});
|
}
|
|
return AjaxResult.success();
|
}
|
|
|
|
public AjaxResult tijianshenqing(TjCustomer customer, String date, TjOrder tjOrder, SysUser sysUser, AjaxResult result) {
|
List<TbTransition> detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(), tjOrder.getCardId());
|
if (!pacsApiMethodService.save(tjOrder, customer, detailList)) {
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
Object jzh = result.get("jzh");
|
if (null != jzh && null != jzh.toString()) {
|
ZfHisApiMethod(jzh.toString());
|
}
|
log.error("pacs申请失败 该登记人挂号失败, 就诊号为: " + tjOrder.getCardId());
|
return AjaxResult.error("挂号失败!" + result.get("msg").toString());
|
}
|
|
// LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>();
|
// wq2.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId());
|
// wq2.isNotNull(TjOrderDetail::getFlowingWaterId);
|
// wq2.eq(TjOrderDetail::getIsSampling, 0);
|
// List<TjOrderDetail> detailList1 = tjOrderDetailService.list(wq2);
|
List<TjOrderDetail> detailList1 = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
|
// log.info("TjOrderDetail ->{}",JSONUtil.toJsonStr(detailList1));
|
tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, sysUser,null);
|
|
String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request");
|
String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix");
|
if (mergeRequest.equals("Y")){
|
try {
|
LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
|
wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber());
|
List<TjSampling> list = tjSamplingService.list(wrapper);
|
log.info("采样数据 ->{}",JSONUtil.toJsonStr(list));
|
if (!list.isEmpty()) {
|
Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode));
|
log.info("分组后 ->{}",JSONUtil.toJsonStr(listMap));
|
ArrayList<String> ids = new ArrayList<>();
|
for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) {
|
log.info("key ->{},val ->{}",entry.getKey(),entry.getValue());
|
// Lis标本代码
|
String specimenTypeCode = entry.getKey();
|
List<TjSampling> samplings = entry.getValue();
|
if (samplings.size() >= 2) {
|
// 进行合并
|
List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
|
// log.info("提取id ->{}",stringList);
|
for (int i = 0; i < stringList.size(); i++) {
|
String s = stringList.get(i);
|
if (tjSamplingService.isMergeItem(s) != 0) {
|
stringList.remove(s);
|
ids.add(s);
|
}
|
}
|
if (stringList.size() > 1) {
|
String id = tjSamplingService.mergeCaiYangApi(stringList,lis_tmh_prefix);
|
ids.add(id);
|
}else {
|
ids.add(stringList.get(0));
|
}
|
} else {
|
ids.add(samplings.get(0).getId());
|
}
|
}
|
Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N");
|
if (!confirmed) {
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
return AjaxResult.error("处理失败");
|
}
|
}
|
} catch (NoTransactionException e) {
|
// throw new RuntimeException(e);
|
log.error(e.getMessage().toString());
|
}
|
}
|
|
//检验申请
|
// OutpintestapplyDto dto = new OutpintestapplyDto();
|
// dto.setHisRegistrationId(tjOrder.getCardId());
|
// dto.setSfzh(customer.getCusIdcard());
|
// dto.setSqysbm("00029");
|
// dto.setMzksbm("0101");
|
// dto.setSjrq(date);
|
// dto.setCzybm("00029");
|
// dto.setCzyksbm("0101");
|
// dto.setSfjz("0");
|
|
// List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>();
|
|
//门诊治疗处置申请
|
// OutpintreatapplyDto dao = new OutpintreatapplyDto();
|
// dao.setHisRegistrationId(tjOrder.getCardId());
|
// dao.setSfzh(customer.getCusIdcard());
|
// dao.setSqysbm("00029");
|
// dao.setMzksbm("0101");
|
// dao.setSjrq(date);
|
// dao.setCzybm("00029");
|
// dao.setCzyksbm("0101");
|
// dao.setSfjz("0");
|
// List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
|
// if (!detailList.isEmpty()) {
|
// LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
|
// wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
|
// wq.in(TjProject::getDeptId,deptService.getCzDeptIds());
|
// List<TjProject> projects = projectService.list(wq);
|
// if (null != projects && !projects.isEmpty()) {
|
// for (TjProject project : projects) {
|
// if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
|
// if (null != project.getHisXmbm()) {
|
// OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
|
// detailsDto.setMxfyxmbm(project.getHisXmbm());
|
// if (project.getSfzhfy().equals("Y")) {
|
// detailsDto.setSfzhfy("1");
|
// } else {
|
// detailsDto.setSfzhfy("0");
|
// }
|
// detailsDto.setSl(project.getSl());
|
// detailsDto.setProjg(project.getProPrice());
|
// detailDtos.add(detailsDto);
|
// }
|
// if(project.getProId()==1740177341251154377L){
|
// OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
|
// detilsDto.setYpbm("00006670");
|
// detilsDto.setPcbm("06");
|
// detilsDto.setSl("1");
|
// detilsDto.setDj("60");
|
// detilsDto.setDcjl("1");
|
// detilsDto.setPj("60");
|
// detilsDto.setJj("60");
|
// detilsDto.setJldw("");
|
// detilsDto.setTjbm("");
|
// detilsDto.setPs("");
|
// detilsDto.setPsbm("");
|
// detilsDto.setYyts("");
|
// detilsDto.setXtph("");
|
// detilsDto.setScph("");
|
// detilsDto.setYpxq("");
|
// detilsDto.setCdbm("");
|
// detilsDto.setKfdw("");
|
// detilsDto.setYfdw("");
|
// detilsDto.setYysm("");
|
// detilsDto.setFzbl("1");
|
// detilsDto.setZh("0");
|
// outpinmedicapplyDetilsDtos.add(detilsDto);
|
// }
|
// }
|
// }
|
// }
|
// }
|
// if (!detailDtos.isEmpty()) {
|
// dao.setDetails(detailDtos);
|
// AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao);
|
// String mzylyzsq2 = getAjaxResult(mzylyzsq1);
|
// JSONObject mzylyzsq3 = getJSONObject(mzylyzsq2);
|
// String code5 = mzylyzsq3.getStr("ResultCode");
|
// if (code5.equals("0")) {
|
// List<OutpintestapplyDetailsDto> details1 = dao.getDetails();
|
// for (OutpintestapplyDetailsDto detail : details1) {
|
// LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
|
// tree.setCardId(dao.getHisRegistrationId());
|
// tree.setPationid(customer.getPationId());
|
// JSONObject resultData = mzylyzsq3.getJSONObject("ResultData");
|
// tree.setSqdh(resultData.getStr("zlczh"));
|
// tree.setFyhj(resultData.getStr("fyhj"));
|
// String mxfyxmbm = detail.getMxfyxmbm();
|
// tree.setHisXmdm(mxfyxmbm);
|
// tree.setType("处置");
|
// tree.setTjPrice(String.valueOf(detail.getProjg()));
|
// LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
|
// if (detail.getSfzhfy().equals("1"))
|
// wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
|
// else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
|
// List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
|
// if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
|
// String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
|
// LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
|
// wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
|
// LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
|
// LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
|
// wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
|
// LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
|
// tree.setXmfl(ejjfxmzd.getYjkmdm());
|
// }
|
// tree.setCreateTime(DateUtil.date());
|
// ltkjJianchajianyanTreeService.save(tree);
|
// }
|
// }
|
// }
|
|
//药品申请
|
// if(!outpinmedicapplyDetilsDtos.isEmpty()){
|
// OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
|
// dto1.setHisRegistrationId(tjOrder.getCardId());
|
// dto1.setSfzh(customer.getCusIdcard());
|
// dto1.setSqysbm("00029");
|
// dto1.setMzksbm("0101");
|
// dto1.setSjrq(date);
|
// dto1.setCzybm("00029");
|
// dto1.setCzyksbm("0101");
|
// dto1.setCflxbm("A");
|
// dto1.setYfbm("1");
|
// dto1.setFyts("1");
|
// dto1.setMzzd("");
|
// dto1.setDetails(outpinmedicapplyDetilsDtos);
|
// AjaxResult resultt = controller.Outpinmedicapply(dto1);
|
// String result1 = getAjaxResult(resultt);
|
// JSONObject object = getJSONObject(result1);
|
// String code = object.getStr("ResultCode");
|
// if(null !=code && code.equals("0")){
|
// JSONObject resultData = object.getJSONObject("ResultData");
|
//// Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0);
|
// String cfh = resultData.getStr("cfh");
|
// log.info("药品申请后的处方号是: "+cfh+" outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString());
|
// for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
|
// TjCf cf=new TjCf();
|
// cf.setCardId(tjOrder.getCardId());
|
// cf.setSfzh(customer.getCusIdcard());
|
// cf.setCfh(cfh);
|
// cf.setSqysbm("00029");
|
// cf.setSqysxm("王健萍");
|
// cf.setMzksbn("0101");
|
// cf.setSqrq(date);
|
// cf.setCzybm("00029");
|
// cf.setYpbm(detilsDto.getYpbm());
|
// cf.setYpmc("尿素[14C]呼气试验药盒");
|
// cf.setSl(String.valueOf(detilsDto.getSl()));
|
// cf.setDj(String.valueOf(detilsDto.getDj()));
|
// cf.setDcjl(String.valueOf(detilsDto.getDcjl()));
|
// cf.setPj(String.valueOf(detilsDto.getPj()));
|
// cf.setJj(String.valueOf(detilsDto.getJj()));
|
// cf.setCreateTime(new Date());
|
// cfService.save(cf);
|
// }
|
// }
|
// }
|
|
return AjaxResult.success();
|
}
|
|
//退费后取消接诊作废申请单等操作
|
@Transactional
|
public boolean ZfHisApiMethods(TjCustomer customer, TjOrder order,Boolean isUseLisAndPacsRegister) {
|
String ysbm = configService.selectConfigByKey("request_default_ysbm");
|
|
Date dates = new Date();
|
final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
|
|
|
List<String> zlsqdh = orderService.getHuoQuZlsqdh(order.getCardId());
|
|
|
List<String> cfhs = cfService.getCfhs(order.getCardId());
|
|
|
AjaxResult ajaxResult = null;
|
String result2 = null;
|
JSONObject object1 = null;
|
String code1 = null;
|
|
// if (isUseLisAndPacsRegister){
|
TjCustomer customer1 = customerService.getById(order.getUserId());
|
// 作废检查申请
|
List<String> bljcsqdhByPacs = orderService.getBljcsqdhByPacs(order.getCardId());
|
if (bljcsqdhByPacs != null && !bljcsqdhByPacs.isEmpty()){
|
for (String sqdh : bljcsqdhByPacs) {
|
AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName());
|
String result = cancelPacsAjaxResult.get("data").toString();
|
JSONObject object = JSONUtil.parseObj(result);
|
String code = object.getStr("ResultCode");
|
if(code.equals("1")){
|
orderService.delHuoQuJcsqdh(order.getCardId());
|
}
|
}
|
}
|
// 作废检验申请
|
List<String> bljysqdhByLis = orderService.getBljysqdhByLis(order.getCardId());
|
if (bljysqdhByLis != null && !bljysqdhByLis.isEmpty()){
|
for (String sqdh : bljysqdhByLis) {
|
AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName());
|
log.info("lis请求返回 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult));
|
if (cancelLisAjaxResult.get("code").toString().equals("200")){
|
String result = cancelLisAjaxResult.get("data").toString();
|
JSONObject object = JSONUtil.parseObj(result);
|
String code= object.getStr("ResultCode");
|
if(code.equals("1")){
|
orderService.delHuoQuJysqdh(order.getCardId());
|
}
|
}
|
}
|
}
|
|
// }else {
|
List<String> jcsqdh = orderService.getHuoQuJcsqdh(order.getCardId());
|
|
List<String> jysqdh = orderService.getHuoQuJysqdh(order.getCardId());
|
//2.1.6.5 作废门诊检查申请
|
if (null != jcsqdh && jcsqdh.size()>0) {
|
for (String s : jcsqdh) {
|
AjaxResult result = controller.Outpindelexamapply(order.getCardId(), ysbm, s);
|
String result1 = getAjaxResult(result);
|
JSONObject object = getJSONObject(result1);
|
String code = object.getStr("ResultCode");
|
if (code.equals("0")) {
|
orderService.delHuoQuJcsqdh(order.getCardId());
|
}
|
// else {
|
// return false;
|
// }
|
}
|
|
}
|
//2.1.6.3 作废门诊检验申请
|
if (null != jysqdh && jysqdh.size()>0) {
|
for (String s : jysqdh) {
|
ajaxResult = controller.Outpindeltestapply(order.getCardId(), ysbm, s);
|
result2 = getAjaxResult(ajaxResult);
|
object1 = getJSONObject(result2);
|
code1 = object1.getStr("ResultCode");
|
if (code1.equals("0")) {
|
orderService.delHuoQuJysqdh(order.getCardId());
|
}
|
// else {
|
// return false;
|
// }
|
}
|
}
|
|
//2.1.6.9 作废门诊治疗处置申请
|
if (null != zlsqdh && zlsqdh.size()>0) {
|
for (String s : zlsqdh) {
|
ajaxResult = controller.Outpintdelreatapply(order.getCardId(), ysbm, s);
|
result2 = getAjaxResult(ajaxResult);
|
object1 = getJSONObject(result2);
|
code1 = object1.getStr("ResultCode");
|
if (code1.equals("0")) {
|
orderService.delHuoQuZlsqdh(order.getCardId());
|
}
|
}
|
}
|
|
//作废药品申请
|
if(null !=cfhs && cfhs.size()>0){
|
for (String cfh : cfhs) {
|
AjaxResult result = controller.Outpindelmedicapply(order.getCardId(), ysbm, cfh);
|
String result1 = getAjaxResult(result);
|
JSONObject object = getJSONObject(result1);
|
String code = object.getStr("ResultCode");
|
if(null !=code && code.equals("0")){
|
cfService.delCfByCardId(cfh);
|
}
|
}
|
}
|
// }
|
|
//2.1.3 门诊医生取消接诊
|
ajaxResult = controller.Outpinunconapply(order.getCardId(), date, ysbm);
|
result2 = getAjaxResult(ajaxResult);
|
object1 = getJSONObject(result2);
|
code1 = object1.getStr("ResultCode");
|
// if (!code1.equals("0")) {
|
// return false;
|
// }
|
return true;
|
}
|
|
|
|
//作废补录项目
|
public boolean ZfBlXm(List<String> bldhs, TjOrder order) {
|
log.info("bldhs ->{}",JSONUtil.toJsonStr(bldhs));
|
if(null !=bldhs && bldhs.size()>0){
|
log.info("进入判断");
|
String ysbm = configService.selectConfigByKey("request_default_ysbm");
|
try {
|
for (String bldh : bldhs) {
|
|
List<String> zlsqdh = orderService.getHuoQuBlZlsqdh(order.getCardId(),bldh);
|
|
|
List<String> cfhs = cfService.getCfBlhs(order.getCardId(),bldh);
|
|
AjaxResult ajaxResult = null;
|
String result2 = null;
|
JSONObject object1 = null;
|
String code1 = null;
|
log.info("查询前");
|
// if (lisApiMethod.isUseLisAndPacsRegister(order)) {
|
TjCustomer customer1 = customerService.getById(order.getUserId());
|
log.info("customer1 ->{}",customer1);
|
List<String> bljcsqdhByPacs = orderService.getBljcsqdhByPacs(order.getCardId(), bldh);
|
log.info("bljcsqdhByPacs ->{}",bljcsqdhByPacs);
|
// 作废检查申请
|
if (bljcsqdhByPacs != null && !bljcsqdhByPacs.isEmpty()){
|
for (String sqdh : bljcsqdhByPacs) {
|
AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName());
|
log.info("作废检查 pacs返回 ->{}",JSONUtil.toJsonStr(cancelPacsAjaxResult));
|
String result = cancelPacsAjaxResult.get("data").toString();
|
JSONObject object = JSONUtil.parseObj(result);
|
String code = object.getStr("ResultCode");
|
if(code.equals("1")){
|
orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh);
|
}else {
|
return false;
|
}
|
}
|
}
|
List<String> bljysqdhByLis = orderService.getBljysqdhByLis(order.getCardId(), bldh);
|
log.info("bljysqdhByLis ->{}",bljysqdhByLis);
|
// 作废检验申请
|
if (bljysqdhByLis != null && !bljysqdhByLis.isEmpty()){
|
for (String sqdh : bljysqdhByLis) {
|
AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName());
|
log.info("作废检验 pacs返回 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult));
|
String result = cancelLisAjaxResult.get("data").toString();
|
JSONObject object = JSONUtil.parseObj(result);
|
String code= object.getStr("ResultCode");
|
if(code.equals("1")){
|
orderService.delHuoQuBlJysqdh(order.getCardId(),bldh);
|
}else {
|
return false;
|
}
|
}
|
}
|
|
List<String> jcsqdh = orderService.getHuoQuBlJcsqdh(order.getCardId(),bldh);
|
|
List<String> jysqdh = orderService.getHuoQuBlJysqdh(order.getCardId(),bldh);
|
// }else {
|
// 2.1.6.5 作废门诊检查申请
|
if (null != jcsqdh && jcsqdh.size()>0) {
|
for (String s : jcsqdh) {
|
AjaxResult result = controller.Outpindelexamapply(order.getCardId(), ysbm, s);
|
String result1 = getAjaxResult(result);
|
JSONObject object = getJSONObject(result1);
|
String code = object.getStr("ResultCode");
|
if (code.equals("0")) {
|
orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh);
|
}else {
|
return false;
|
}
|
}
|
}
|
|
//2.1.6.3 作废门诊检验申请
|
if (null != jysqdh && jysqdh.size()>0) {
|
for (String s : jysqdh) {
|
ajaxResult = controller.Outpindeltestapply(order.getCardId(), ysbm, s);
|
result2 = getAjaxResult(ajaxResult);
|
object1 = getJSONObject(result2);
|
code1 = object1.getStr("ResultCode");
|
if (code1.equals("0")) {
|
orderService.delHuoQuBlJysqdh(order.getCardId(),bldh);
|
}else {
|
return false;
|
}
|
}
|
}
|
|
//2.1.6.9 作废门诊治疗处置申请
|
if (null != zlsqdh && zlsqdh.size()>0) {
|
for (String s : zlsqdh) {
|
ajaxResult = controller.Outpintdelreatapply(order.getCardId(), ysbm, s);
|
result2 = getAjaxResult(ajaxResult);
|
object1 = getJSONObject(result2);
|
code1 = object1.getStr("ResultCode");
|
if (code1.equals("0")) {
|
orderService.delHuoQuZlsqdh(order.getCardId(),bldh);
|
}else {
|
return false;
|
}
|
}
|
}
|
|
//作废药品申请
|
if(null !=cfhs && cfhs.size()>0){
|
for (String cfh : cfhs) {
|
AjaxResult result = controller.Outpindelmedicapply(order.getCardId(), ysbm, cfh);
|
String result1 = getAjaxResult(result);
|
JSONObject object = getJSONObject(result1);
|
String code = object.getStr("ResultCode");
|
if(null !=code && code.equals("0")){
|
cfService.delCfByCardId(cfh);
|
}else {
|
return false;
|
}
|
}
|
}
|
// }
|
return true;
|
}
|
} catch (Exception e) {
|
log.error(e.getMessage());
|
return false;
|
}
|
}
|
return true;
|
}
|
|
//退费后取消接诊作废申请单等操作
|
public boolean ZfHisApiMethod(String jzh) {
|
String ysbm = configService.selectConfigByKey("request_default_ysbm");
|
Date dates = new Date();
|
final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
|
|
List<String> jcsqdh = orderService.getHuoQuJcsqdh(jzh);
|
|
List<String> jysqdh = orderService.getHuoQuJysqdh(jzh);
|
|
|
List<String> zlsqdh = orderService.getHuoQuZlsqdh(jzh);
|
|
|
List<String> cfhs = cfService.getCfhs(jzh);
|
|
//2.1.6.5 作废门诊检查申请
|
if (null != jcsqdh && jcsqdh.size()>0) {
|
for (String s : jcsqdh) {
|
AjaxResult result = controller.Outpindelexamapply(jzh, ysbm, s);
|
String result1 = getAjaxResult(result);
|
JSONObject object = getJSONObject(result1);
|
String code = object.getStr("ResultCode");
|
if (code.equals("0")) {
|
orderService.delHuoQuJcsqdh(jzh);
|
}
|
}
|
|
}
|
|
|
//2.1.6.3 作废门诊检验申请
|
|
AjaxResult ajaxResult = null;
|
String result2 = null;
|
JSONObject object1 = null;
|
String code1 = null;
|
|
if (null != jysqdh && jysqdh.size()>0) {
|
for (String s : jysqdh) {
|
ajaxResult = controller.Outpindeltestapply(jzh, ysbm, s);
|
result2 = getAjaxResult(ajaxResult);
|
object1 = getJSONObject(result2);
|
code1 = object1.getStr("ResultCode");
|
if (code1.equals("0")) {
|
orderService.delHuoQuJysqdh(jzh);
|
}
|
}
|
}
|
|
//2.1.6.9 作废门诊治疗处置申请
|
if (null != zlsqdh && zlsqdh.size()>0) {
|
for (String s : zlsqdh) {
|
ajaxResult = controller.Outpintdelreatapply(jzh, ysbm, s);
|
result2 = getAjaxResult(ajaxResult);
|
object1 = getJSONObject(result2);
|
code1 = object1.getStr("ResultCode");
|
if (code1.equals("0")) {
|
orderService.delHuoQuZlsqdh(jzh);
|
}
|
}
|
}
|
|
//作废药品申请
|
if(null !=cfhs && cfhs.size()>0){
|
for (String cfh : cfhs) {
|
AjaxResult result = controller.Outpindelmedicapply(jzh, ysbm, cfh);
|
String result1 = getAjaxResult(result);
|
JSONObject object = getJSONObject(result1);
|
String code = object.getStr("ResultCode");
|
if(null !=code && code.equals("0")){
|
cfService.delCfByCardId(cfh);
|
}
|
}
|
}
|
|
|
//2.1.3 门诊医生取消接诊
|
ajaxResult = controller.Outpinunconapply(jzh, date, ysbm);
|
result2 = getAjaxResult(ajaxResult);
|
object1 = getJSONObject(result2);
|
code1 = object1.getStr("ResultCode");
|
return true;
|
}
|
|
//获取门诊结算记录
|
@Transactional
|
public void getHisMzJsJl(TjOrder order) {
|
Date dates = new Date();
|
final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
|
|
}
|
|
public void Getlabreginfoinfo(String hisCardId,String orderTime){
|
AjaxResult ajaxResult = controller.Getlabreginfoinfo(hisCardId,true,orderTime);
|
saveLabRegInfo(ajaxResult);
|
ajaxResult = controller.Getlabreginfoinfo(hisCardId,false,orderTime);
|
saveLabRegInfo(ajaxResult);
|
}
|
|
private void saveLabRegInfo(AjaxResult ajaxResult) {
|
if (ajaxResult.get("code").toString().equals("200")){
|
JSONObject data = JSONUtil.parseObj(ajaxResult.get("data").toString());
|
JSONObject response = data.getJSONObject("Response");
|
if (response.getStr("ResultCode").equals("0")) {
|
JSONArray array = response.getJSONArray("ResultData");
|
if (!array.isEmpty()){
|
for (Object o : array) {
|
JSONObject jsonObject = (JSONObject) o;
|
TbLisSq tbLisSq = new TbLisSq();
|
tbLisSq.setGrbslx(trimString(jsonObject.getStr("GRBSLX")));
|
tbLisSq.setZdjgdm(trimString(jsonObject.getStr("ZDJGDM")));
|
tbLisSq.setMzzybz(trimString(jsonObject.getStr("MZZYBZ")));
|
tbLisSq.setZdjgmc(trimString(jsonObject.getStr("ZDJGMC")));
|
tbLisSq.setBgysqm(trimString(jsonObject.getStr("BGYSQM")));
|
tbLisSq.setShysqm(trimString(jsonObject.getStr("SHYSQM")));
|
tbLisSq.setSqrqsj(trimString(jsonObject.getStr("SQRQSJ")));
|
tbLisSq.setSqjgmc(trimString(jsonObject.getStr("SQJGMC")));
|
tbLisSq.setSqrbh(trimString(jsonObject.getStr("SQRBH")));
|
tbLisSq.setXyzddm(trimString(jsonObject.getStr("XYZDDM")));
|
tbLisSq.setJyxmmc(trimString(jsonObject.getStr("JYXMMC")));
|
tbLisSq.setCardId(trimString(jsonObject.getStr("his_registration_id")));
|
tbLisSq.setHzlxdm(trimString(jsonObject.getStr("HZLXDM")));
|
tbLisSq.setBgysbh(trimString(jsonObject.getStr("BGYSBH")));
|
tbLisSq.setJyxmdm(trimString(jsonObject.getStr("JYXMDM")));
|
tbLisSq.setBgksbh(trimString(jsonObject.getStr("BGKSBH")));
|
tbLisSq.setSqdbh(trimString(jsonObject.getStr("SQDBH")));
|
tbLisSq.setJyxh(trimString(jsonObject.getStr("JYXH")));
|
tbLisSq.setHzxb(trimString(jsonObject.getStr("HZXB")));
|
tbLisSq.setSqjgdm(trimString(jsonObject.getStr("SQJGDM")));
|
tbLisSq.setSqrxm(trimString(jsonObject.getStr("SQRXM")));
|
tbLisSq.setBgjgdm(trimString(jsonObject.getStr("BGJGDM")));
|
tbLisSq.setJyxhHb(trimString(jsonObject.getStr("jyxh_hb")));
|
tbLisSq.setHzksmc(trimString(jsonObject.getStr("HZKSMC")));
|
tbLisSq.setHzxm(trimString(jsonObject.getStr("HZXM")));
|
tbLisSq.setSqksmc(trimString(jsonObject.getStr("SQKSMC")));
|
tbLisSq.setYljgdm(trimString(jsonObject.getStr("YLJGDM")));
|
tbLisSq.setPationId(trimString(jsonObject.getStr("PationId")));
|
tbLisSq.setBgksmc(trimString(jsonObject.getStr("BGKSMC")));
|
tbLisSq.setDhhm(trimString(jsonObject.getStr("DHHM")));
|
tbLisSq.setHzzs(trimString(jsonObject.getStr("HZZS")));
|
tbLisSq.setJyrq(trimString(jsonObject.getStr("JYRQ")));
|
tbLisSq.setZzksrqsj(trimString(jsonObject.getStr("ZZKSRQSJ")));
|
tbLisSq.setHznl(trimString(jsonObject.getStr("HZNL")));
|
tbLisSq.setShrq(trimString(jsonObject.getStr("SHRQ")));
|
tbLisSq.setBgjgmc(trimString(jsonObject.getStr("BGJGMC")));
|
tbLisSq.setSqksdm(trimString(jsonObject.getStr("SQKSDM")));
|
tbLisSq.setHzksdm(trimString(jsonObject.getStr("HZKSDM")));
|
tbLisSq.setShysbh(trimString(jsonObject.getStr("SHYSBH")));
|
tbLisSq.setXyzdmc(trimString(jsonObject.getStr("XYZDMC")));
|
tbLisSq.setZfbz(trimString(jsonObject.getStr("zfbz")));
|
LambdaQueryWrapper<TbLisSq> wrapper = new LambdaQueryWrapper<>(tbLisSq);
|
List<TbLisSq> list = tbLisSqService.list(wrapper);
|
if (list.isEmpty()){
|
tbLisSq.setId(IdUtil.getSnowflake().nextId());
|
tbLisSqService.save(tbLisSq);
|
}
|
}
|
}
|
}
|
}
|
}
|
|
private String trimString(String value) {
|
return value != null ? value.trim() : null;
|
}
|
|
}
|