package com.ltkj.web.controller.system;
|
|
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.date.DateTime;
|
import cn.hutool.core.date.DateUtil;
|
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.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ltkj.common.annotation.RepeatSubmit;
|
import com.ltkj.common.core.domain.AjaxResult;
|
import com.ltkj.common.core.domain.entity.SysUser;
|
import com.ltkj.common.core.redis.RedisCache;
|
import com.ltkj.common.enums.DataSourceType;
|
import com.ltkj.common.utils.SecurityUtils;
|
import com.ltkj.common.utils.StringUtils;
|
import com.ltkj.framework.config.MatchUtils;
|
import com.ltkj.framework.config.UserHoder;
|
import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
|
import com.ltkj.hosp.domain.*;
|
import com.ltkj.hosp.mapper.TestMapper;
|
import com.ltkj.hosp.service.*;
|
import com.ltkj.hosp.sqlDomain.*;
|
import com.ltkj.hosp.vo.ProFcListVo;
|
import com.ltkj.hosp.vodomain.CsProVo;
|
import com.ltkj.hosp.vodomain.UpdateOrderRemarkVo;
|
import com.ltkj.mall.mallOrderUtils.TjConstants;
|
import com.ltkj.system.service.ISysConfigService;
|
import com.ltkj.system.service.ISysDeptService;
|
import com.ltkj.system.service.ISysUserService;
|
import com.ltkj.web.controller.his.HisApiGetMethodService;
|
import com.ltkj.web.controller.his.HisApiMethodService;
|
import com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiParam;
|
import jodd.util.StringUtil;
|
import lombok.extern.slf4j.Slf4j;
|
import lombok.var;
|
import org.aspectj.weaver.AjAttribute;
|
import org.redisson.api.RLock;
|
import org.redisson.api.RedissonClient;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.math.BigDecimal;
|
import java.text.Collator;
|
import java.util.*;
|
import java.util.concurrent.TimeUnit;
|
import java.util.stream.Collectors;
|
|
import static com.ltkj.framework.datasource.DynamicDataSourceContextHolder.log;
|
import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.save;
|
import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.setClipRect;
|
import static org.jeecg.modules.jmreport.dyndb.util.b.a;
|
import static org.jeecg.modules.jmreport.dyndb.util.b.e;
|
|
/**
|
* @Author: 西安路泰科技有限公司/赵佳豪
|
* @Date: 2022/12/6 14:29
|
*/
|
@RestController
|
@RequestMapping("/check")
|
@Api(tags = "AAAAAAAAAAAA总检医师相关接口")
|
@Slf4j
|
public class TjCheckController {
|
@Resource
|
private ITjOrderService orderService;
|
@Resource
|
private ITjOrderDetailService detailService;
|
@Resource
|
private ITjCustomerService customerService;
|
@Resource
|
private ITjProjectService projectService;
|
@Resource
|
private IDictCompService compService;
|
@Resource
|
private ITjStandardService tjStandardService;
|
@Resource
|
private ITjAdviceService tjAdviceService;
|
@Resource
|
private ITjOrderRemarkService orderRemarkService;
|
@Resource
|
private ITbTransitionService transitionService;
|
@Resource
|
private ISysUserService userService;
|
@Resource
|
private RedisCache redisCache;
|
@Resource
|
private TjAsyncService asyncService;
|
@Resource
|
private ITjConfirmLogService confirmLogService;
|
@Autowired
|
private ISysConfigService configService;
|
@Resource
|
private ISysDeptService deptService;
|
@Resource
|
private TestMapper testMapper;
|
@Resource
|
private TjvLtkjvtjpatService tjvLtkjvtjpatService;
|
@Resource
|
private LtkjMiddleDetailService middleDetailService;
|
@Resource
|
private LtkjMiddleHeadService headService;
|
@Resource
|
private LtkjExamJcbgdService jcbgdService;
|
@Resource
|
private LtkjExamJcsqdService jcsqdService;
|
@Resource
|
private LtkjHybgdService ltkjHybgdService;
|
@Resource
|
private LtkjHysqdService ltkjHysqdService;
|
@Autowired
|
private HisApiMethodService controller;
|
@Autowired
|
private HisApiGetMethodService service;
|
@Autowired
|
private HisApiConfigService hisApiConfigService;
|
@Autowired
|
private RedissonClient redissonClient;
|
@Autowired
|
private ITjRulesService rulesService;
|
@Autowired
|
private ITjProAdvicerulesService tjProAdvicerulesService;
|
@Autowired
|
private TjOrderYcxmService ycxmService;
|
@Autowired
|
private SysConfigController configController;
|
@Autowired
|
private TjJcycxmService jcycxmService;
|
@Resource
|
private TjXdtgmdjgService xdtgmdjgService;
|
@Resource
|
private TjXdPictureController pictureController;
|
|
@GetMapping("/ceshicc")
|
@ApiOperation(value = "测试调用存储过程耗时接口")
|
@RepeatSubmit
|
// @Transactional
|
public AjaxResult ceshicc() {
|
|
List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd1("8003241206085556");
|
if (null != jcsqdList && !jcsqdList.isEmpty()) {
|
jcsqdService.deletedLtkjJcsqdByTjhAndTmh("8003241206085556");
|
jcbgdService.deletedLtkjJcbgdByTjhAndTmh("8003241206085556");
|
jcsqdService.saveBatch(jcsqdList);
|
List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd1("8003241206085556");
|
if (null != jcbgdList && !jcbgdList.isEmpty()) jcbgdService.saveBatch(jcbgdList);
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
}
|
return AjaxResult.success();
|
}
|
|
|
// @GetMapping ("/ceshi")
|
// @ApiOperation (value = "测试调用lis视图数据接口")
|
// @RepeatSubmit
|
//// @Transactional
|
// public AjaxResult ceshi() {
|
// List<Map<String, Object>> ccXZxYyLisJgSt = testMapper.getCcXZxYyLisJgSt();
|
// return AjaxResult.success(ccXZxYyLisJgSt);
|
// }
|
|
|
// @GetMapping ("/pacs")
|
// @ApiOperation (value = "测试调用pacs视图数据接口")
|
// @RepeatSubmit
|
// public AjaxResult pacs() {
|
// List<Map<String, Object>> ccXZxYyPacsJgSt = testMapper.getCcXZxYyPacsJgSt();
|
//
|
// List<LtkjExamJcsqd> list = testMapper.getCcXZxYyPacsLtkjExamJcsqd("");
|
//
|
// log.info(list.toString());
|
//
|
// List<LtkjExamJcbgd> list1 = testMapper.getCcXZxYyPacsLtkjExamJcbgd("");
|
//
|
// log.info(list1.toString());
|
//
|
// return AjaxResult.success(ccXZxYyPacsJgSt);
|
// }
|
|
|
@GetMapping("/getOperationPermissionsByTjNum")
|
@ApiOperation(value = "(初审页面 和 医生页面)根据体检号获取是否可操作权限接口 true可操作 反之不可")
|
public AjaxResult getOperationPermissionsByTjNum(@ApiParam(value = "体检号") @RequestParam String tjNumber) {
|
TjOrder order = orderService.getOrderByTjNum(tjNumber);
|
if (null != order) {
|
Integer status = order.getStatus();
|
if (status < 300) {
|
return AjaxResult.success(true);
|
}
|
if (status > 300) {
|
return AjaxResult.success(false);
|
}
|
}
|
return AjaxResult.success(false);
|
}
|
|
|
@GetMapping("/getCsList")
|
@ApiOperation(value = "初审查询体检记录客户列表")//0待1已
|
@Transactional
|
public AjaxResult getCsList(@ApiParam(value = "审核状态 0待审核 1已审核") @RequestParam(required = false) Integer checkStatus,
|
@ApiParam(value = "页码数(默认1)") @RequestParam(defaultValue = "1") Integer page,
|
@ApiParam(value = "显示条数(默认10)") @RequestParam(defaultValue = "10") Integer pageSize,
|
@ApiParam(value = "体检单号") @RequestParam(required = false) String tjNumber,
|
@ApiParam(value = "单位") @RequestParam(required = false) Long compId,
|
@ApiParam(value = "姓名)") @RequestParam(required = false) String name,
|
@ApiParam(value = "套餐名)") @RequestParam(required = false) String tcm,
|
@ApiParam(value = "开始时间") @RequestParam(required = false) String beginTime,
|
@ApiParam(value = "结束时间") @RequestParam(required = false) String endTime) {
|
|
// DateTime beginTimes = null;
|
// DateTime endTimes = null;
|
// if (null != beginTime && null != endTime) {
|
// beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime));
|
// endTimes = DateUtil.endOfDay(DateUtil.parse(endTime));
|
// }
|
// //初始化体检订单表
|
// List<TjOrder> orderList = null;
|
// List<TjCustomer> customerList = new ArrayList<>();
|
// Map<String, Object> map = new HashMap<>();
|
//
|
// if (checkStatus == 0)
|
// asyncService.wCScheckSetCustomerLisByRedis(orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes));
|
// if (checkStatus == 1)
|
// asyncService.yCScheckSetCustomerLisByRedis(orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes));
|
//
|
// //根据姓名查询
|
// if (null != name && !"".equals(name)) {
|
// List<TjCustomer> list = customerService.getTjCustomerList(name);
|
// if (null != list && list.size() > 0) {
|
// List<TjCustomer> lists = new ArrayList<>();
|
// for (TjCustomer customer : list) {
|
// orderList = orderService.getCsTjOrderListByCusId(customer.getCusId());
|
// if (null != orderList && orderList.size() > 0) {
|
// for (TjOrder tjOrder : orderList) {
|
// customer.setTjNumber(tjOrder.getTjNumber());
|
// customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus()));
|
// customer.setOrderId(tjOrder.getOrderId());
|
// customer.setTjTime(tjOrder.getCreateTime());
|
// customer.setFinishTime(tjOrder.getFinishTime());
|
// customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
|
// customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
|
// customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
|
// customer.setConfirmStatus(String.valueOf(tjOrder.getStatus()));
|
// if (tjOrder.getFirmId().equals("0")) {
|
// customer.setTjCompName(null);
|
// } else {
|
// customer.setTjCompName(compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()).getCnName());
|
// }
|
// lists.add(customer);
|
// }
|
// }
|
// }
|
// List<TjCustomer> customers = null;
|
// if (lists.size() > 0) {
|
// customers = lists.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
|
// }
|
// map.put("customers", customers);
|
// map.put("total", lists.size());
|
// return AjaxResult.success(map);
|
// }
|
// return AjaxResult.success("暂无数据");
|
// }
|
//
|
// //条件查询
|
// if (null != tjNumber || null != compId || (null != beginTime && null != endTime)) {
|
// orderList = orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
|
// return getResult(page, pageSize, orderList, customerList, map);
|
// }
|
//
|
// List<TjCustomer> customers = null;
|
// if (checkStatus == 0) {
|
// customers = redisCache.getCacheMapValue("cScheck", "ws");
|
// }
|
// if (checkStatus == 1) {
|
// customers = redisCache.getCacheMapValue("cScheck", "ys");
|
// }
|
// if (customers != null && customers.size() > 0) {
|
// List<TjCustomer> customerLists = customers.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
|
// map.put("customers", customerLists);
|
// map.put("total", customers.size());
|
// return AjaxResult.success(map);
|
// } else {
|
// orderList = orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
|
// return getResult(page, pageSize, orderList, customerList, map);
|
// }
|
String value = String.valueOf(compId);
|
if (tjNumber == null) tjNumber = "";
|
if (compId == null) value = "";
|
if (name == null) name = "";
|
if (beginTime == null) beginTime = "";
|
if (endTime == null) endTime = "";
|
if (tcm == null) tcm = "";
|
return AjaxResult.success(orderService.getCsCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name, tcm));
|
}
|
|
|
/**
|
* 初审
|
*/
|
@GetMapping("/cSWebGetProByTjNumAndOrderId")
|
@ApiOperation(value = "(初审页面)点击体检人员展示体检项目接口")
|
public AjaxResult cSWebGetProByTjNumAndOrderId(@ApiParam(value = "体检号") @RequestParam String tjNumber) {
|
// List<TjOrderRemark> orderRemarkList = orderRemarkService.getTjOrderRemarkListByTjNum(tjNumber);
|
// List<CsProVo> list = new ArrayList<>();
|
// if (null != orderRemarkList && orderRemarkList.size() > 0) {
|
// for (TjOrderRemark remark : orderRemarkList) {
|
// CsProVo vo = new CsProVo();
|
// vo.setDeptName(deptService.getById(remark.getDeptId()).getDeptName());
|
// vo.setProName(projectService.getById(remark.getProId()).getProName());
|
// vo.setType(remark.getType());
|
// if (null != remark.getDoctorName()) {
|
// vo.setDoctorName(userService.getById(remark.getDoctorName()).getNickName());
|
// vo.setBcdoctorName(userService.getById(remark.getDoctorName()).getNickName());
|
// }
|
// vo.setSffs("统收");
|
// vo.setIsPay("已收费");
|
// vo.setQdcreateTime(remark.getCreateTime());
|
// vo.setBcupdateTime(remark.getUpdateTime());
|
// vo.setZhupdateTime(remark.getUpdateTime());
|
// list.add(vo);
|
// }
|
// List<CsProVo> list1 = orderRemarkService.cSWebGetProByTjNumAndOrderId(tjNumber);
|
// Collections.sort(list, new Comparator<CsProVo>() {
|
// @Override
|
// public int compare(CsProVo o1, CsProVo o2) {
|
// return o1.getType() - o2.getType();
|
// }
|
// });
|
// }
|
|
List<CsProVo> list = getCsProVos(tjNumber, false);
|
return AjaxResult.success(list);
|
}
|
|
public List<CsProVo> getCsProVos(String tjNumber, boolean sfzpacs) {
|
List<CsProVo> list = orderRemarkService.cSWebGetProByTjNumAndOrderId(tjNumber, sfzpacs);
|
if (null != list && !list.isEmpty()) {
|
list.sort(new Comparator<CsProVo>() {
|
@Override
|
public int compare(CsProVo o1, CsProVo o2) {
|
return o1.getType() - o2.getType();
|
}
|
});
|
}
|
return list;
|
}
|
|
|
/**
|
* 初审
|
*/
|
@GetMapping("/confirmOrder")
|
@ApiOperation(value = "初审(并修改状态)接口")
|
@Transactional
|
public AjaxResult confirmOrder(@ApiParam(value = "tjNumber") @RequestParam String tjNumber,
|
@ApiParam(value = "状态 0同意 1拒绝 默认同意") @RequestParam(defaultValue = "0") Integer status,
|
@ApiParam(value = "驳回理由") @RequestParam(required = false) String remark) {
|
int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
|
if (num > 0) return AjaxResult.error("请检查是否存在未检或延期项目");
|
if (null != tjNumber) {
|
Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId());
|
SysUser sysUser = userService.getById(userId);
|
TjOrder tjOrder = orderService.getOrderByTjNum(tjNumber);
|
if (null != tjOrder) {
|
tjOrder.setConfirmTime(new DateTime());
|
tjOrder.setConfirmDoctor(sysUser.getNickName());
|
tjOrder.setConfirmStatus(String.valueOf(status));
|
if (status == 0) {
|
tjOrder.setStatus(TjConstants.TJ_CHECK);
|
// asyncService.updateCheckType(tjNumber);
|
} else {
|
tjOrder.setStatus(TjConstants.TJ_REFUSED);
|
}
|
if (orderService.updateById(tjOrder)) {
|
TjConfirmLog confirmLog = new TjConfirmLog();
|
confirmLog.setOrderId(String.valueOf(tjOrder.getOrderId()));
|
confirmLog.setTjNum(tjNumber);
|
confirmLog.setStatus(status);
|
confirmLogService.save(confirmLog);
|
// asyncService.wCScheckSetCustomerLisByRedis(orderService.getCsTjOrderList(tjNumber, 0, null, null, null));
|
// asyncService.yCScheckSetCustomerLisByRedis(orderService.getCsTjOrderList(tjNumber, 1, null, null, null));
|
return AjaxResult.success("操作成功");
|
}
|
return AjaxResult.error("操作失败");
|
}
|
return AjaxResult.success("数据不存在");
|
}
|
return AjaxResult.error();
|
}
|
|
|
/**
|
* 同步sql server数据到本地数据库数据接口
|
*/
|
@GetMapping("/dataSynchronization")
|
@ApiOperation(value = "同步sql server数据到本地数据库数据接口")
|
@RepeatSubmit
|
// @Transactional
|
public AjaxResult dataSynchronization(@RequestParam String tjNumber) {
|
String dqyyyqbm = configService.selectConfigByKey("dqyyyqbm");
|
RLock lock = redissonClient.getLock("lock:check:dataSynchronization:" + tjNumber);
|
try {
|
boolean tryLock = lock.tryLock(3L, TimeUnit.SECONDS);
|
if (tryLock) {
|
//根据配置调取存储过程 将临时表数据存入预约表2023.12.12
|
final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
|
|
final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis");
|
final String sfkqdshitulianjie = configService.selectConfigByKey("sfkqdshitulianjie");
|
TjOrder order = orderService.getOrderByTjNum(tjNumber);
|
if (null != order) {
|
|
//开启字典弹窗
|
if ("Y".equals(getInfoFromSqlData)) {
|
tbhyxm(order);
|
// List<LtkjExamJcsqd> one2 = testMapper.getExamJcsqdTmh(tjNumber);
|
// if (one2 != null && one2.size() > 0) {
|
// DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
// ltkjExamJcsqdService.saveBatch(one2);
|
// DynamicDataSourceContextHolder.clearDataSourceType();
|
// for (LtkjExamJcsqd ltkjExamJcsqd : one2) {
|
// List<LtkjExamJcbgd> one3 = testMapper.getExamJcbgdByTjh(ltkjExamJcsqd.getTmh());
|
// if (one3 != null && one3.size() > 0) {
|
// DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
// ltkjExamJcbgdService.saveBatch(one3);
|
// DynamicDataSourceContextHolder.clearDataSourceType();
|
// }
|
// }
|
// }
|
//同步化验项目
|
testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
|
//同步检查项目
|
testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
|
asyncService.updateCheckType(order.getTjNumber());
|
|
}
|
|
//开启和his对接
|
if (null != sfkqdyhis && sfkqdyhis.equals("Y")) {
|
|
List<String> baoGaoDans = ltkjHybgdService.getJianYanBaoGaoDan(order.getCardId());
|
List<String> jianChaBaoGaoDan = ltkjHybgdService.getJianChaBaoGaoDan(order.getCardId());
|
//同步检验
|
if (null != baoGaoDans && baoGaoDans.size() > 0) {
|
Date dates = new Date();
|
Map<String, Object> map = new HashMap<>();
|
map.put("his_registration_id", order.getCardId());
|
map.put("ksbm", "");
|
map.put("pationid", "");
|
map.put("ksrq", DateUtil.format(DateUtil.beginOfDay(order.getCreateTime()), "yyyy-MM-dd HH:mm:ss"));
|
map.put("jsrq", DateUtil.format(DateUtil.endOfDay(dates), "yyyy-MM-dd HH:mm:ss"));
|
map.put("pagecount", 10);
|
map.put("page", 1);
|
AjaxResult result = controller.Getlabreportinfo(map);
|
String result1 = getAjaxResult(result);
|
JSONObject object = getJSONObject(result1);
|
String code = object.getStr("ResultCode");
|
if (null == code || !code.equals("0")) {
|
return AjaxResult.error("化验项目暂时未出结果,请稍后同步!!!");
|
}
|
JSONArray data = object.getJSONArray("ResultData");
|
|
for (Object datum : data) {
|
JSONObject jsonObject = (JSONObject) datum;
|
LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID"));
|
if (null != jybgid) {
|
ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID"));
|
ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jybgid.getTmh());
|
}
|
LtkjHysqd hysqd = new LtkjHysqd();
|
hysqd.setTjh(order.getCardId());
|
hysqd.setTmh(jsonObject.getStr("JYBGID"));
|
hysqd.setBbbh(jsonObject.getStr("BBDM"));
|
hysqd.setBbmc(jsonObject.getStr("BBMC"));
|
hysqd.setXmid(jsonObject.getStr("JYXMDM"));
|
hysqd.setXmmc(jsonObject.getStr("JYXMMC"));
|
hysqd.setSqsj(jsonObject.getStr("SQRQ"));
|
hysqd.setSqys(jsonObject.getStr("SQRBH"));
|
hysqd.setJgsj(jsonObject.getStr("JYBGRQ"));
|
hysqd.setSqrxm(jsonObject.getStr("SQRXM"));
|
hysqd.setSqdh(jsonObject.getStr("SQDBH"));
|
hysqd.setShrdm(jsonObject.getStr("JYYSBH"));
|
hysqd.setShrxm(jsonObject.getStr("JYYSQM"));
|
hysqd.setJybgjg(jsonObject.getStr("JYBGJG"));
|
if (ltkjHysqdService.save(hysqd)) {
|
Map<String, Object> hashMap = new HashMap<>();
|
hashMap.put("jybgid", hysqd.getTmh());
|
AjaxResult bgdres = controller.Getlabdetailinfo(hashMap);
|
String result2 = getAjaxResult(bgdres);
|
JSONObject object1 = getJSONObject(result2);
|
String code1 = object1.getStr("ResultCode");
|
if (null != code1 && code1.equals("0")) {
|
JSONArray datas = object1.getJSONArray("ResultData");
|
for (Object o : datas) {
|
JSONObject js = (JSONObject) o;
|
// ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jsonObject.getStr("JYBGID"));
|
LtkjHybgd bgd = new LtkjHybgd();
|
bgd.setTmh(hysqd.getTmh());
|
bgd.setJcxmid(js.getStr("JCZBDM"));
|
bgd.setJcxm(js.getStr("JCZBMC"));
|
bgd.setTdh(js.getStr(""));
|
bgd.setJyjg(js.getStr("JCZBJG"));
|
bgd.setJgdw(js.getStr("JLDW"));
|
bgd.setFwzdz(js.getStr(""));
|
bgd.setFwzgz(js.getStr(""));
|
bgd.setFwz(js.getStr("CKZFW"));
|
bgd.setJysj(js.getStr("BGRQ"));
|
bgd.setJyys(js.getStr("JCRBH"));
|
bgd.setShsj(js.getStr("BGRQ"));
|
bgd.setShsj(js.getStr("BGRQ"));
|
bgd.setShys(js.getStr("SHRBH"));
|
bgd.setShysmc(js.getStr("SHRXM"));
|
bgd.setYcbz(js.getStr("YCTS"));
|
// bgd.setTpurl(js.getStr(""));
|
ltkjHybgdService.save(bgd);
|
}
|
}
|
|
Map<String, Object> fbhashMap = new HashMap<>();
|
fbhashMap.put("jybgid", hysqd.getTmh());
|
AjaxResult fbres = controller.Getlabgermrepinfo(fbhashMap);
|
String ajaxResult = getAjaxResult(fbres);
|
JSONObject fbobject = getJSONObject(ajaxResult);
|
String fbcode = fbobject.getStr("ResultCode");
|
if (null != fbcode && fbcode.equals("0")) {
|
JSONArray datas = fbobject.getJSONArray("ResultData");
|
for (Object o : datas) {
|
JSONObject js = (JSONObject) o;
|
LtkjHybgd bgd = new LtkjHybgd();
|
bgd.setTmh(hysqd.getTmh());
|
bgd.setJcxmid(hysqd.getXmid());
|
bgd.setJcxm(hysqd.getXmmc());
|
bgd.setTdh(js.getStr(""));
|
bgd.setJyjg(js.getStr("JCJG"));
|
bgd.setJgdw("/");
|
bgd.setFwzdz("/");
|
bgd.setFwzgz("/");
|
bgd.setFwz("/");
|
bgd.setJysj(js.getStr("BGRQ"));
|
bgd.setJyys(hysqd.getSqrxm());
|
bgd.setShsj(js.getStr("BGRQ"));
|
bgd.setShys(hysqd.getShrdm());
|
bgd.setShysmc(hysqd.getShrxm());
|
ltkjHybgdService.save(bgd);
|
}
|
}
|
|
}
|
}
|
//同步化验项目
|
testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
|
}
|
|
/*同步检查 his接口*/
|
if (null != jianChaBaoGaoDan && jianChaBaoGaoDan.size() > 0) {
|
Map<String, Object> maps = new HashMap<>();
|
maps.put("his_registration_id", order.getCardId());
|
maps.put("ksbm", "体检中心");
|
maps.put("pagecount", 100);
|
maps.put("page", 1);
|
|
|
LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Getexamreportinfo");
|
HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper);
|
|
|
/*同步检查 his存储过程*/
|
|
String jctbfs = configService.selectConfigByKey("jctbfs");
|
AjaxResult results = null;
|
if (jctbfs.equalsIgnoreCase("Y")) {
|
results = service.getHISDataNew("Getexamreportinfo", maps);
|
} else {
|
results = jcsqdService.getTjJcProByHisCall("体检中心", order.getCardId(), "''", 100, 1, "'1'");
|
}
|
|
|
DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
|
log.info("检查项目查询返回值: " + results.toString());
|
|
if (Integer.parseInt(results.get("code").toString()) == 200) {
|
List<Map<String, Object>> datas = (List<Map<String, Object>>) results.get("data");
|
if (null != datas && datas.size() > 0) {
|
jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId());
|
jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId());
|
for (Map<String, Object> objectMap : datas) {
|
//保存入参出参
|
// service.save((JSONObject)objectMap,"Getexamreportinfo",hisApiConfig,JSONUtil.toJsonStr(maps));
|
service.save(JSONUtil.parseObj(objectMap), "Getexamreportinfo", hisApiConfig, JSONUtil.toJsonStr(maps));
|
|
|
LtkjExamJcbgd jcbgd = new LtkjExamJcbgd();
|
jcbgd.setTjh(order.getCardId());
|
if (null != objectMap.get("JCBGID") || !objectMap.get("JCBGID").equals(""))
|
jcbgd.setTmh(objectMap.get("JCBGID").toString());
|
|
if (null != objectMap.get("JCXMDM") || !objectMap.get("JCXMDM").equals(""))
|
jcbgd.setXmdm(objectMap.get("JCXMDM").toString());
|
|
if (null != objectMap.get("JCXMMC") || !objectMap.get("JCXMMC").equals(""))
|
jcbgd.setXmmc(objectMap.get("JCXMMC").toString());
|
|
if (null != objectMap.get("JCXMJG") || !objectMap.get("JCXMJG").equals(""))
|
jcbgd.setBgNr(objectMap.get("JCXMJG").toString());
|
|
if (null != objectMap.get("reporturl") || !objectMap.get("reporturl").equals(""))
|
jcbgd.setBgUrl(objectMap.get("reporturl").toString());
|
|
if (null != objectMap.get("SHYSQM") || !objectMap.get("SHYSQM").equals(""))
|
jcbgd.setShysxm(objectMap.get("SHYSQM").toString());
|
|
if (null != objectMap.get("SHYSBH") || !objectMap.get("SHYSBH").equals(""))
|
jcbgd.setShysdm(objectMap.get("SHYSBH").toString());
|
|
if (null != objectMap.get("YXZD") || !objectMap.get("YXZD").equals(""))
|
jcbgd.setYxzd(objectMap.get("YXZD").toString());
|
|
if (null != objectMap.get("YXBX") || !objectMap.get("YXBX").equals("")) {
|
if (objectMap.get("YXBX").toString().equals("null")) {
|
jcbgd.setYxbx("未检异常");
|
} else {
|
jcbgd.setYxbx(objectMap.get("YXBX").toString());
|
}
|
}
|
if (null != objectMap.get("SJJLSJ") || !objectMap.get("SJJLSJ").equals(""))
|
jcbgd.setZdsj(objectMap.get("SJJLSJ").toString());
|
|
if (null != objectMap.get("JCBW") || !objectMap.get("JCBW").equals(""))
|
jcbgd.setJcbw(objectMap.get("JCBW").toString());
|
|
if (null != objectMap.get("SQRQSJ") || !objectMap.get("SQRQSJ").equals(""))
|
jcbgd.setSqsj(objectMap.get("SQRQSJ").toString());
|
|
jcbgdService.save(jcbgd);
|
}
|
jcsqdService.saveLtkjExamJcsqd(order.getCardId());
|
|
int maxRetries = 3;
|
for (int attempt = 0; attempt < maxRetries; attempt++) {
|
try {
|
testMapper.updateDetailByTjJcCall(order.getCardId(),
|
String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
|
break;
|
} catch (Exception e) {
|
if (attempt == maxRetries - 1) {
|
throw e;
|
}
|
try {
|
Thread.sleep(1000);
|
} catch (InterruptedException ignored) {
|
}
|
}
|
}
|
} else {
|
return AjaxResult.error("检查项目暂时未出结果,请稍后同步!!!");
|
}
|
}
|
}
|
return AjaxResult.success("同步成功");
|
} else if (null != sfkqdshitulianjie && sfkqdshitulianjie.equalsIgnoreCase("Y")) {
|
List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(order.getTjNumber(), dqyyyqbm);
|
if (null != hysqdList && !hysqdList.isEmpty()) {
|
for (LtkjHysqd hysqd : hysqdList) {
|
LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(hysqd.getTjh(), hysqd.getTmh());
|
if (null != jybgid) {
|
ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(hysqd.getTjh(), hysqd.getTmh());
|
ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(hysqd.getTmh());
|
}
|
if (ltkjHysqdService.save(hysqd)) {
|
List<LtkjHybgd> hybgdList = testMapper.getCcXZxYyLtkjHybgdByLisVi(hysqd.getTmh());
|
ltkjHybgdService.saveBatch(hybgdList);
|
}
|
}
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
}
|
List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(order.getTjNumber(), dqyyyqbm);
|
if (null != jcsqdList && !jcsqdList.isEmpty()) {
|
jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId());
|
jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId());
|
jcsqdService.saveBatch(jcsqdList);
|
List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(order.getCardId());
|
if (null != jcbgdList && !jcbgdList.isEmpty()) jcbgdService.saveBatch(jcbgdList);
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
}
|
// String tjNumber1 = order.getTjNumber();
|
// log.info("查询出来的体检号是: " + tjNumber1);
|
// log.info("传过来的的体检号是: "+tjNumber);
|
Map<String, Object> map = new HashMap<>();
|
map.put("tjnum", tjNumber);
|
testMapper.tjUpdateDetatilByVi(map);
|
} else {
|
//化验
|
testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
|
}
|
//检查
|
orderService.tjLispacstongbujianyi(null, null, null, null);
|
return AjaxResult.success("同步成功");
|
}
|
return AjaxResult.error("未查到该人员体检记录");
|
}
|
return AjaxResult.error("该人员数据正在同步中,请稍等");
|
} catch (InterruptedException e) {
|
log.error(String.valueOf(e), e.getMessage());
|
return AjaxResult.error("该人员数据正在同步中,请稍等");
|
} finally {
|
lock.unlock();
|
}
|
}
|
|
|
/**
|
* 同步sql server数据到本地数据库数据接口
|
*/
|
@GetMapping("/dataSynchronizationApi")
|
@ApiOperation(value = "同步sql server数据到本地数据库数据接口")
|
@RepeatSubmit
|
// @Transactional
|
public AjaxResult dataSynchronizationApi(@RequestParam String tjNumber) {
|
RLock lock = redissonClient.getLock("lock:check:dataSynchronization:" + tjNumber);
|
try {
|
boolean tryLock = lock.tryLock(3L, TimeUnit.SECONDS);
|
if (tryLock) {
|
String doctorId = configService.selectConfigByKey("request_default_check_doctorId");
|
//根据配置调取存储过程 将临时表数据存入预约表2023.12.12
|
final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
|
final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis");
|
TjOrder order = orderService.getOrderByTjNum(tjNumber);
|
if (null != order) {
|
|
//开启字典弹窗
|
if ("Y".equals(getInfoFromSqlData)) {
|
tbhyxm(order);
|
asyncService.updateCheckType(order.getTjNumber());
|
|
}
|
//开启和his对接
|
if (null != sfkqdyhis && sfkqdyhis.equals("Y")) {
|
List<String> baoGaoDans = ltkjHybgdService.getJianYanBaoGaoDan(order.getCardId());
|
List<String> jianChaBaoGaoDan = ltkjHybgdService.getJianChaBaoGaoDan(order.getCardId());
|
//同步检验
|
String resultMsg = "";
|
if (null != baoGaoDans && !baoGaoDans.isEmpty()) {
|
Date dates = new Date();
|
Map<String, Object> map = new HashMap<>();
|
map.put("his_registration_id", order.getCardId());
|
map.put("ksbm", "");
|
map.put("pationid", "");
|
map.put("ksrq", DateUtil.format(DateUtil.beginOfDay(order.getCreateTime()), "yyyy-MM-dd HH:mm:ss"));
|
map.put("jsrq", DateUtil.format(DateUtil.endOfDay(dates), "yyyy-MM-dd HH:mm:ss"));
|
map.put("pagecount", 10);
|
map.put("page", 1);
|
AjaxResult result = controller.Getlabreportinfo(map);
|
String result1 = getAjaxResult(result);
|
JSONObject object = getJSONObject(result1);
|
String code = object.getStr("ResultCode");
|
if (null != code && code.equals("0")) {
|
JSONArray data = object.getJSONArray("ResultData");
|
for (Object datum : data) {
|
JSONObject jsonObject = (JSONObject) datum;
|
LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID"));
|
if (null != jybgid) {
|
ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID"));
|
ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jybgid.getTmh());
|
}
|
boolean isInsertHysqd = false;
|
LtkjHysqd hysqd = new LtkjHysqd();
|
hysqd.setTjh(order.getCardId());
|
hysqd.setTmh(jsonObject.getStr("JYBGID"));
|
hysqd.setBbbh(jsonObject.getStr("BBDM"));
|
hysqd.setBbmc(jsonObject.getStr("BBMC"));
|
hysqd.setXmid(jsonObject.getStr("JYXMDM"));
|
hysqd.setXmmc(jsonObject.getStr("JYXMMC"));
|
hysqd.setSqsj(jsonObject.getStr("SQRQ"));
|
hysqd.setSqys(jsonObject.getStr("SQRBH"));
|
hysqd.setJgsj(jsonObject.getStr("JYBGRQ"));
|
hysqd.setSqrxm(jsonObject.getStr("SQRXM"));
|
hysqd.setSqdh(jsonObject.getStr("SQDBH"));
|
hysqd.setShrdm(jsonObject.getStr("JYYSBH"));
|
hysqd.setShrxm(jsonObject.getStr("JYYSQM"));
|
hysqd.setJybgjg(jsonObject.getStr("JYBGJG"));
|
hysqd.setCreateTime(new Date());
|
QueryWrapper<LtkjHysqd> queryWrapper = new QueryWrapper<>(hysqd);
|
List<LtkjHysqd> list = ltkjHysqdService.list(queryWrapper);
|
if (list.isEmpty())
|
isInsertHysqd = true;
|
if (isInsertHysqd) {
|
saveHysqd(hysqd);
|
} else {
|
saveHybgd(hysqd);
|
}
|
}
|
} else {
|
resultMsg = "化验项目暂时未出结果,请稍后同步!!!";
|
}
|
//同步化验项目
|
testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
|
}
|
/*同步检查 his接口*/
|
if (null != jianChaBaoGaoDan && !jianChaBaoGaoDan.isEmpty()) {
|
Map<String, Object> maps = new HashMap<>();
|
maps.put("his_registration_id", order.getCardId());
|
maps.put("ksbm", "体检中心");
|
maps.put("pagecount", 100);
|
maps.put("page", 1);
|
LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Getexamreportinfo");
|
HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper);
|
/*同步检查 his存储过程*/
|
String jctbfs = configService.selectConfigByKey("jctbfs");
|
AjaxResult results = null;
|
if (jctbfs.equalsIgnoreCase("Y")) {
|
results = service.getHISDataNew("Getexamreportinfo", maps);
|
} else {
|
results = jcsqdService.getTjJcProByHisCall("体检中心", order.getCardId(), "''", 100, 1, "'1'");
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
}
|
log.info("检查项目查询返回值: " + results.toString());
|
if (Integer.parseInt(results.get("code").toString()) == 200) {
|
List<Map<String, Object>> datas = (List<Map<String, Object>>) results.get("data");
|
if (null != datas && !datas.isEmpty()) {
|
jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId());
|
jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId());
|
for (Map<String, Object> objectMap : datas) {
|
//保存入参出参
|
service.save(JSONUtil.parseObj(objectMap), "Getexamreportinfo", hisApiConfig, JSONUtil.toJsonStr(maps));
|
LtkjExamJcbgd jcbgd = new LtkjExamJcbgd();
|
jcbgd.setTjh(order.getCardId());
|
if (null != objectMap.get("JCBGID") || !objectMap.get("JCBGID").equals(""))
|
jcbgd.setTmh(objectMap.get("JCBGID").toString());
|
if (null != objectMap.get("JCXMDM") || !objectMap.get("JCXMDM").equals(""))
|
jcbgd.setXmdm(objectMap.get("JCXMDM").toString());
|
if (null != objectMap.get("JCXMMC") || !objectMap.get("JCXMMC").equals(""))
|
jcbgd.setXmmc(objectMap.get("JCXMMC").toString());
|
if (null != objectMap.get("JCXMJG") || !objectMap.get("JCXMJG").equals(""))
|
jcbgd.setBgNr(objectMap.get("JCXMJG").toString());
|
if (null != objectMap.get("reporturl") || !objectMap.get("reporturl").equals(""))
|
jcbgd.setBgUrl(objectMap.get("reporturl").toString());
|
if (null != objectMap.get("SHYSQM") || !objectMap.get("SHYSQM").equals(""))
|
jcbgd.setShysxm(objectMap.get("SHYSQM").toString());
|
if (null != objectMap.get("SHYSBH") || !objectMap.get("SHYSBH").equals(""))
|
jcbgd.setShysdm(objectMap.get("SHYSBH").toString());
|
if (null != objectMap.get("YXZD") || !objectMap.get("YXZD").equals(""))
|
jcbgd.setYxzd(objectMap.get("YXZD").toString());
|
if (null != objectMap.get("YXBX") || !objectMap.get("YXBX").equals("")) {
|
if (objectMap.get("YXBX").toString().equals("null")) {
|
jcbgd.setYxbx("未检异常");
|
} else {
|
jcbgd.setYxbx(objectMap.get("YXBX").toString());
|
}
|
}
|
if (null != objectMap.get("SJJLSJ") || !objectMap.get("SJJLSJ").equals(""))
|
jcbgd.setZdsj(objectMap.get("SJJLSJ").toString());
|
if (null != objectMap.get("JCBW") || !objectMap.get("JCBW").equals(""))
|
jcbgd.setJcbw(objectMap.get("JCBW").toString());
|
if (null != objectMap.get("SQRQSJ") || !objectMap.get("SQRQSJ").equals(""))
|
jcbgd.setSqsj(objectMap.get("SQRQSJ").toString());
|
jcbgd.setCreateTime(new Date());
|
jcbgdService.save(jcbgd);
|
}
|
jcsqdService.saveLtkjExamJcsqd(order.getCardId());
|
List<LtkjExamJcsqd> jcsqdList = jcsqdService.getLtkjJcsqdByTjh(order.getCardId());
|
jcycxmService.deletedByTjh(order.getTjNumber());
|
if(!jcsqdList.isEmpty()){
|
for (LtkjExamJcsqd jcsqd : jcsqdList) {
|
if(StringUtil.isNotBlank(jcsqd.getJgzt())){
|
String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("。|;|;|,|,");
|
for (String jg : split) {
|
if(StringUtil.isNotBlank(jg) && !jg.contains("未见异常")
|
&& !jg.contains("未见明显异常") && !jg.contains("未见占位") && !jg.contains("未见")
|
&& !jg.contains("未见明显")&& !jg.contains("正常")&& !jg.contains("双侧椎间孔无狭窄")){
|
TjJcycxm jcycxm=new TjJcycxm();
|
jcycxm.setTjh(order.getTjNumber());
|
jcycxm.setYqid("jczyy");
|
String[] split1 = jcsqd.getJcxmid().split(";");
|
jcycxm.setProId(split1[0]);
|
jcycxm.setProName(jcsqd.getJcxmmc());
|
jcycxm.setCreateTime(new Date());
|
jcycxm.setJcjg(jg);
|
jcycxmService.save(jcycxm);
|
}
|
}
|
}
|
}
|
}
|
testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
|
} else {
|
resultMsg += "\n检查项目暂时未出结果,请稍后同步!!!";
|
}
|
}
|
}
|
|
if (StrUtil.isBlank(resultMsg))
|
return AjaxResult.success("同步成功");
|
else return AjaxResult.error(resultMsg);
|
}
|
return AjaxResult.success("同步成功");
|
}
|
return AjaxResult.error("未查到该人员体检记录");
|
}
|
return AjaxResult.error("该人员数据正在同步中,请稍等");
|
} catch (InterruptedException e) {
|
log.error(String.valueOf(e), e.getMessage());
|
return AjaxResult.error("该人员数据正在同步中,请稍等");
|
} finally {
|
lock.unlock();
|
}
|
}
|
|
private void saveHysqd(LtkjHysqd hysqd) {
|
if (ltkjHysqdService.save(hysqd)) {
|
saveHybgd(hysqd);
|
}
|
}
|
|
private void saveHybgd(LtkjHysqd hysqd) {
|
Map<String, Object> hashMap = new HashMap<>();
|
hashMap.put("jybgid", hysqd.getTmh());
|
AjaxResult bgdres = controller.Getlabdetailinfo(hashMap);
|
String result2 = getAjaxResult(bgdres);
|
JSONObject object1 = getJSONObject(result2);
|
String code1 = object1.getStr("ResultCode");
|
if (null != code1 && code1.equals("0")) {
|
JSONArray datas = object1.getJSONArray("ResultData");
|
for (Object o : datas) {
|
JSONObject js = (JSONObject) o;
|
// ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jsonObject.getStr("JYBGID"));
|
LtkjHybgd bgd = new LtkjHybgd();
|
bgd.setTmh(hysqd.getTmh());
|
bgd.setJcxmid(js.getStr("JCZBDM"));
|
bgd.setJcxm(js.getStr("JCZBMC"));
|
bgd.setTdh(js.getStr(""));
|
bgd.setJyjg(js.getStr("JCZBJG"));
|
bgd.setJgdw(js.getStr("JLDW"));
|
bgd.setFwzdz(js.getStr(""));
|
bgd.setFwzgz(js.getStr(""));
|
bgd.setFwz(js.getStr("CKZFW"));
|
bgd.setJysj(js.getStr("BGRQ"));
|
bgd.setJyys(js.getStr("JCRBH"));
|
bgd.setShsj(js.getStr("BGRQ"));
|
bgd.setShsj(js.getStr("BGRQ"));
|
bgd.setShys(js.getStr("SHRBH"));
|
bgd.setShysmc(js.getStr("SHRXM"));
|
bgd.setYcbz(js.getStr("YCTS"));
|
bgd.setCreateTime(new Date());
|
// bgd.setTpurl(js.getStr(""));
|
QueryWrapper<LtkjHybgd> queryWrapper = new QueryWrapper<>(bgd);
|
List<LtkjHybgd> list = ltkjHybgdService.list(queryWrapper);
|
if (list.isEmpty())
|
ltkjHybgdService.save(bgd);
|
}
|
}
|
|
Map<String, Object> fbhashMap = new HashMap<>();
|
fbhashMap.put("jybgid", hysqd.getTmh());
|
AjaxResult fbres = controller.Getlabgermrepinfo(fbhashMap);
|
String ajaxResult = getAjaxResult(fbres);
|
JSONObject fbobject = getJSONObject(ajaxResult);
|
String fbcode = fbobject.getStr("ResultCode");
|
if (null != fbcode && fbcode.equals("0")) {
|
JSONArray datas = fbobject.getJSONArray("ResultData");
|
for (Object o : datas) {
|
JSONObject js = (JSONObject) o;
|
LtkjHybgd bgd = new LtkjHybgd();
|
bgd.setTmh(hysqd.getTmh());
|
bgd.setJcxmid(hysqd.getXmid());
|
bgd.setJcxm(hysqd.getXmmc());
|
bgd.setTdh(js.getStr(""));
|
bgd.setJyjg(js.getStr("JCJG"));
|
bgd.setJgdw("/");
|
bgd.setFwzdz("/");
|
bgd.setFwzgz("/");
|
bgd.setFwz("/");
|
bgd.setJysj(js.getStr("BGRQ"));
|
bgd.setJyys(hysqd.getSqrxm());
|
bgd.setShsj(js.getStr("BGRQ"));
|
bgd.setShys(hysqd.getShrdm());
|
bgd.setShysmc(hysqd.getShrxm());
|
QueryWrapper<LtkjHybgd> queryWrapper = new QueryWrapper<>(bgd);
|
List<LtkjHybgd> list = ltkjHybgdService.list(queryWrapper);
|
if (list.isEmpty())
|
ltkjHybgdService.save(bgd);
|
}
|
}
|
}
|
|
//将方法返回值解析成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();
|
}
|
|
private void tbhyxm(TjOrder order) {
|
List<LtkjHysqd> one = testMapper.getHysqdByTmh(order.getCardId());
|
if (one != null && !one.isEmpty()) {
|
for (LtkjHysqd ltkjHysqd : one) {
|
ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(ltkjHysqd.getTjh(), ltkjHysqd.getTmh());
|
ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(ltkjHysqd.getTmh());
|
LtkjHysqd hysqd = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(ltkjHysqd.getTjh(), ltkjHysqd.getTmh());
|
if (hysqd == null) {
|
ltkjHysqdService.save(ltkjHysqd);
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
List<LtkjHybgd> one1 = testMapper.getHybgdByTmh(ltkjHysqd.getTmh());
|
if (one1 != null && !one1.isEmpty()) {
|
DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
ltkjHybgdService.saveBatch(one1);
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
}
|
}
|
}
|
}
|
}
|
|
|
/**
|
* 查询体检记录客户列表
|
*/
|
@GetMapping("/getList")
|
@ApiOperation(value = "查询体检记录客户列表")//0待1已
|
// @PreAuthorize("@ss.hasPermi('check:check:getList')")
|
public AjaxResult getList(@ApiParam(value = "审核状态0待审核1已审核") @RequestParam(required = false) Integer checkStatus,
|
@ApiParam(value = "页码数(默认1)") @RequestParam(defaultValue = "1") Integer page,
|
@ApiParam(value = "显示条数(默认10)") @RequestParam(defaultValue = "10") Integer pageSize,
|
@ApiParam(value = "体检单号") @RequestParam(required = false) String tjNumber,
|
@ApiParam(value = "单位") @RequestParam(required = false) Long compId,
|
@ApiParam(value = "姓名)") @RequestParam(required = false) String name,
|
@ApiParam(value = "开始时间") @RequestParam(required = false) String beginTime,
|
@ApiParam(value = "结束时间") @RequestParam(required = false) String endTime) {
|
// String config = configService.selectConfigByKey("tj_confirm");
|
// DateTime beginTimes = null;
|
// DateTime endTimes = null;
|
// if (null != beginTime && null != endTime) {
|
// beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime));
|
// endTimes = DateUtil.endOfDay(DateUtil.parse(endTime));
|
// }
|
// asyncService.checkSetCustomerLisByRedis(config);
|
// //初始化体检订单表
|
// List<TjOrder> orderList = null;
|
// List<TjCustomer> customerList = new ArrayList<>();
|
// Map<String, Object> map = new HashMap<>();
|
//
|
// //姓名查询
|
// if (null != name && !"".equals(name)) {
|
// List<TjCustomer> list = customerService.getTjCustomerList(name);
|
// if (null != list && list.size() > 0) {
|
// List<TjCustomer> lists = new ArrayList<>();
|
// for (TjCustomer customer : list) {
|
// if ("Y".equals(config)) {
|
// orderList = orderService.getCsTjOrderListByCusId1(customer.getCusId());
|
// } else {
|
// orderList = orderService.getTjOrderListByCusId(customer.getCusId());
|
// }
|
// if (null != orderList && orderList.size() > 0) {
|
// for (TjOrder tjOrder : orderList) {
|
// customer.setTjNumber(tjOrder.getTjNumber());
|
// customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus()));
|
// customer.setOrderId(tjOrder.getOrderId());
|
// customer.setTjTime(tjOrder.getFinishTime());
|
// customer.setFinishTime(tjOrder.getFinishTime());
|
// customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
|
// customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
|
// customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
|
// customer.setConfirmStatus(String.valueOf(tjOrder.getStatus()));
|
// customer.setTjCategory(tjOrder.getTjCategory());
|
// if (tjOrder.getFirmId().equals("0")) {
|
// customer.setTjCompName(null);
|
// } else {
|
// customer.setTjCompName(compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()).getCnName());
|
// }
|
// lists.add(customer);
|
// }
|
// }
|
// }
|
// List<TjCustomer> customers = null;
|
// if (lists.size() > 0) {
|
// customers = lists.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
|
// }
|
// map.put("customers", customers);
|
// map.put("total", lists.size());
|
// return AjaxResult.success(map);
|
// }
|
// return AjaxResult.success("暂无数据");
|
// }
|
//
|
// //条件查询
|
// if (null != tjNumber || null != compId || (null != beginTime && null != endTime)) {
|
// //判断是否开启初审
|
// if ("Y".equals(config)) {
|
// orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
|
// } else {
|
// orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
|
// }
|
// return getResult(page, pageSize, orderList, customerList, map);
|
// }
|
//
|
// List<TjCustomer> customers = null;
|
// if (null != checkStatus && checkStatus == 0) {
|
// customers = redisCache.getCacheMapValue("check", "ws");
|
// }
|
// if (null != checkStatus && checkStatus == 1) {
|
// customers = redisCache.getCacheMapValue("check", "ys");
|
// }
|
// if (customers != null && customers.size() > 0) {
|
//// asyncService.addRedis(customers);
|
// List<TjCustomer> customerLists = customers.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
|
// map.put("customers", customerLists);
|
// map.put("total", customers.size());
|
// return AjaxResult.success(map);
|
// } else {
|
// //判断是否开启初审
|
// if ("Y".equals(config)) {
|
// orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
|
// } else {
|
// orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
|
// }
|
// return getResult(page, pageSize, orderList, customerList, map);
|
// }
|
|
String value = String.valueOf(compId);
|
if (tjNumber == null) tjNumber = "";
|
if (compId == null) value = "";
|
if (name == null) name = "";
|
if (beginTime == null) beginTime = "";
|
if (endTime == null) endTime = "";
|
return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name));
|
}
|
|
|
@GetMapping("/getBghsList")
|
@ApiOperation(value = "报告核收页面查询接口")//0待1已
|
// @PreAuthorize("@ss.hasPermi('check:check:getList')")
|
public AjaxResult getBghsList(@ApiParam(value = "页码数(默认1)") @RequestParam(defaultValue = "1") Integer page,
|
@ApiParam(value = "显示条数(默认10)") @RequestParam(defaultValue = "10") Integer pageSize,
|
@ApiParam(value = "体检单号") @RequestParam(required = false) String tjNumber,
|
@ApiParam(value = "单位") @RequestParam(required = false) Long compId,
|
@ApiParam(value = "姓名)") @RequestParam(required = false) String name,
|
@ApiParam(value = "开始时间") @RequestParam(required = false) String beginTime,
|
@ApiParam(value = "结束时间") @RequestParam(required = false) String endTime) {
|
// String config = configService.selectConfigByKey("tj_confirm");
|
// DateTime beginTimes = null;
|
// DateTime endTimes = null;
|
// if (null != beginTime && null != endTime) {
|
// beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime));
|
// endTimes = DateUtil.endOfDay(DateUtil.parse(endTime));
|
// }
|
// asyncService.checkSetCustomerLisByRedis(config);
|
// //初始化体检订单表
|
// List<TjOrder> orderList = null;
|
// List<TjCustomer> customerList = new ArrayList<>();
|
// Map<String, Object> map = new HashMap<>();
|
//
|
// //姓名查询
|
// if (null != name && !"".equals(name)) {
|
// List<TjCustomer> list = customerService.getTjCustomerList(name);
|
// if (null != list && list.size() > 0) {
|
// List<TjCustomer> lists = new ArrayList<>();
|
// for (TjCustomer customer : list) {
|
// if ("Y".equals(config)) {
|
// orderList = orderService.getCsTjOrderListByCusId1(customer.getCusId());
|
// } else {
|
// orderList = orderService.getTjOrderListByCusId(customer.getCusId());
|
// }
|
// if (null != orderList && orderList.size() > 0) {
|
// for (TjOrder tjOrder : orderList) {
|
// customer.setTjNumber(tjOrder.getTjNumber());
|
// customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus()));
|
// customer.setOrderId(tjOrder.getOrderId());
|
// customer.setTjTime(tjOrder.getFinishTime());
|
// customer.setFinishTime(tjOrder.getFinishTime());
|
// customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
|
// customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
|
// customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
|
// customer.setConfirmStatus(String.valueOf(tjOrder.getStatus()));
|
// customer.setTjCategory(tjOrder.getTjCategory());
|
// if (tjOrder.getFirmId().equals("0")) {
|
// customer.setTjCompName(null);
|
// } else {
|
// customer.setTjCompName(compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()).getCnName());
|
// }
|
// lists.add(customer);
|
// }
|
// }
|
// }
|
// List<TjCustomer> customers = null;
|
// if (lists.size() > 0) {
|
// customers = lists.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
|
// }
|
// map.put("customers", customers);
|
// map.put("total", lists.size());
|
// return AjaxResult.success(map);
|
// }
|
// return AjaxResult.success("暂无数据");
|
// }
|
//
|
// //条件查询
|
// if (null != tjNumber || null != compId || (null != beginTime && null != endTime)) {
|
// //判断是否开启初审
|
// if ("Y".equals(config)) {
|
// orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
|
// } else {
|
// orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
|
// }
|
// return getResult(page, pageSize, orderList, customerList, map);
|
// }
|
//
|
// List<TjCustomer> customers = null;
|
// if (null != checkStatus && checkStatus == 0) {
|
// customers = redisCache.getCacheMapValue("check", "ws");
|
// }
|
// if (null != checkStatus && checkStatus == 1) {
|
// customers = redisCache.getCacheMapValue("check", "ys");
|
// }
|
// if (customers != null && customers.size() > 0) {
|
//// asyncService.addRedis(customers);
|
// List<TjCustomer> customerLists = customers.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
|
// map.put("customers", customerLists);
|
// map.put("total", customers.size());
|
// return AjaxResult.success(map);
|
// } else {
|
// //判断是否开启初审
|
// if ("Y".equals(config)) {
|
// orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
|
// } else {
|
// orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
|
// }
|
// return getResult(page, pageSize, orderList, customerList, map);
|
// }
|
|
String value = String.valueOf(compId);
|
if (tjNumber == null) tjNumber = "";
|
if (compId == null) value = "";
|
if (name == null) name = "";
|
if (beginTime == null) beginTime = "";
|
if (endTime == null) endTime = "";
|
return AjaxResult.success(orderService.getgetBghsList(tjNumber, page, pageSize, value, beginTime, endTime, name));
|
}
|
|
|
/**
|
* 根据体检订单号获取体检详情信息接口
|
*
|
* @param tjNumber
|
* @param advice
|
* @param checkStatus
|
* @return
|
*/
|
@PutMapping("/getTjdetailList")
|
@ApiOperation(value = "根据体检订单号获取体检详情信息(并修改状态)接口")
|
// @PreAuthorize("@ss.hasPermi('check:check:getTjdetailList')")
|
public AjaxResult getTjdetailList(@ApiParam(value = "体检tjNumber") @RequestParam String tjNumber,
|
@ApiParam(value = "总检建议") @RequestParam(required = false) String advice,
|
@ApiParam(value = "审核状态0待审核1已审核") @RequestParam Integer checkStatus) {
|
|
String config = configService.selectConfigByKey("sfjcwjhyqxm");
|
if (null != config && config.equalsIgnoreCase("Y")) {
|
int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
|
if (num > 0) return AjaxResult.error("存在未检或延期项目暂不能生成报告!!!");
|
}
|
Date date = new Date();
|
if (null != tjNumber) {
|
Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId());
|
SysUser sysUser = userService.getById(userId);
|
LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
|
wq1.eq(TjOrder::getTjNumber, tjNumber);
|
TjOrder tjOrder = orderService.getOne(wq1);
|
if (null != tjOrder) {
|
tjOrder.setCheckAdvice(advice);
|
tjOrder.setCheckStatus(checkStatus);
|
tjOrder.setStatus(TjConstants.TJ_CHECK);
|
tjOrder.setCheckDoctor(sysUser.getNickName());
|
tjOrder.setCheckTime(date);
|
tjOrder.setStatus(401);
|
tjOrder.setFinishTime(date);
|
if (orderService.updateById(tjOrder)) {
|
TjCustomer customer = customerService.getById(tjOrder.getUserId());
|
if (null != customer) {
|
customer.setCusNumber(customer.getCusNumber() + 1);
|
customer.setCardId("0");
|
if (customerService.updateById(customer)) {
|
asyncService.updateCheckType(tjNumber);
|
return AjaxResult.success("操作成功");
|
}
|
return AjaxResult.error("操作失败");
|
}
|
}
|
return AjaxResult.error("操作失败");
|
}
|
return AjaxResult.success("数据不存在");
|
}
|
return AjaxResult.error();
|
}
|
|
|
/**
|
* 总检点击体检信息详情————非化验项目
|
*
|
* @param tjNumber
|
* @return
|
*/
|
@GetMapping("/updateCheckType")
|
@ApiOperation(value = "总检点击体检信息详情————非化验项目")
|
public AjaxResult updateCheckType(@ApiParam(value = "客户体检号") @RequestParam String tjNumber) {
|
// if (redisCache.hasKey("updateCheckType" + tjNumber)) {
|
// List<Map<String, Object>> cacheMapValue = redisCache.getCacheMapValue("updateCheckType" + tjNumber, tjNumber);
|
// return AjaxResult.success(cacheMapValue);
|
// }
|
// return getAjaxResult(tjNumber);
|
return getResult(tjNumber);
|
}
|
|
private AjaxResult getAjaxResult(String tjNumber) {
|
|
asyncService.updateCheckType(tjNumber);
|
List<Map<String, Object>> list = new ArrayList<>();
|
TjOrder one = orderService.getOrderByTjNum(tjNumber);
|
|
if (one == null) {
|
return AjaxResult.error("暂无数据!!");
|
}
|
|
TjCustomer customer = customerService.getById(one.getUserId());
|
List<TjOrderRemark> remarkList = orderRemarkService.getRemarkListByTjNumAndType(tjNumber);
|
|
if (null != remarkList && remarkList.size() > 0) {
|
for (TjOrderRemark remark : remarkList) {
|
Map<String, Object> parent = new HashMap<>();
|
parent.put("checkAdvice", one.getCheckAdvice());
|
TjProject project = projectService.selectTjProjectByProId(remark.getProId());
|
//判断该项目是否需要打印报告
|
if ("N".equals(project.getNeedReport())) {
|
continue;
|
}
|
|
//判断该项目是否检验科项目 2024/2/28g
|
if (project.getDeptId() == 241) {
|
continue;
|
}
|
|
if (null != project) {
|
parent.put("parent", project.getProName());
|
parent.put("parentId", project.getProId().toString());
|
}
|
List<TjOrderDetail> tjOrderDetails = detailService.getDetailByOrderIdAndParId(one.getOrderId(), remark.getProId());
|
if (null != tjOrderDetails && tjOrderDetails.size() > 0) {
|
for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
|
final TjProject byId = projectService.selectTjProjectByProId(tjOrderDetail.getProId());
|
String metering = null;
|
if (null == byId) {
|
detailService.removeById(tjOrderDetail.getOrderDetailId());
|
} else {
|
metering = byId.getProMetering();
|
tjOrderDetail.setProject(byId);
|
}
|
List<TjStandard> list2 = tjStandardService.getTjStandardListByProId(String.valueOf(tjOrderDetail.getProId()));
|
if (list2.size() == 0) {
|
TjStandard standard = new TjStandard();
|
if (StrUtil.isNotBlank(metering))
|
standard.setCompany(metering);
|
tjOrderDetail.setStandard(standard);
|
} else if (list2.size() == 1) {
|
TjStandard standard = list2.get(0);
|
if (StrUtil.isNotBlank(metering) && StrUtil.isBlank(standard.getCompany()))
|
standard.setCompany(metering);
|
tjOrderDetail.setStandard(standard);
|
} else {
|
final int ageType = StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday()));
|
TjStandard tjStandard1 = tjStandardService.getListBySexAndType(customer.getCusSex(), ageType, String.valueOf(tjOrderDetail.getProId()));
|
if (StrUtil.isNotBlank(metering) && StrUtil.isBlank(tjStandard1.getCompany()))
|
tjStandard1.setCompany(metering);
|
tjOrderDetail.setStandard(tjStandard1);
|
}
|
}
|
String summary = remark.getSummary();
|
if (null != summary) {
|
String[] split = summary.split(";");
|
// List<Long> longList = new ArrayList<>();
|
// for (String str : split) {
|
// if(!"".equals(str)){
|
// longList.add(Long.valueOf(str));
|
// }
|
// }
|
parent.put("parentAdvice", tjAdviceService.getAdviceStringByIds(split));
|
|
} else {
|
parent.put("parentAdvice", null);
|
}
|
parent.put("sons", tjOrderDetails);
|
parent.put("remark", remark.getRemark());
|
if (remark.getDoctorName() != null && null != userService.getById(remark.getDoctorName())) {
|
parent.put("doctorName", userService.getById(remark.getDoctorName()).getNickName());
|
}
|
list.add(parent);
|
} else {
|
return AjaxResult.success("该客户没有体检项目数据");
|
}
|
}
|
return AjaxResult.success(list);
|
}
|
return AjaxResult.success("该客户没有体检项目数据!");
|
}
|
|
|
/**
|
* 总检点击体检信息详情————化验项目
|
*
|
* @param tjNumber
|
* @return
|
*/
|
@GetMapping("/updateCheckTypeHuaYan")
|
@ApiOperation(value = "总检点击体检信息详情————化验项目")
|
public AjaxResult updateCheckTypeHuaYan(@ApiParam(value = "客户体检号") @RequestParam String tjNumber) {
|
// asyncService.updateCheckType(tjNumber);
|
List<Map<String, Object>> list = new ArrayList<>();
|
TjOrder one = orderService.getOrderByTjNum(tjNumber);
|
|
if (one == null) {
|
return AjaxResult.error("暂无数据!!");
|
}
|
// final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
|
// if(null !=getInfoFromSqlData && getInfoFromSqlData.equals("Y"))
|
// tbhyxm(one);
|
// TjCustomer customer = customerService.getById(one.getUserId());
|
List<TjOrderRemark> remarkList = orderRemarkService.addHuaYanTable(tjNumber);
|
List<TjOrderDetail> tjOrderDetails = detailService.addHuaYanTable(tjNumber);
|
|
|
if (null != remarkList && !remarkList.isEmpty()) {
|
for (TjOrderRemark remark : remarkList) {
|
Map<String, Object> parent = new HashMap<>();
|
parent.put("checkAdvice", one.getCheckAdvice());
|
parent.put("parent", remark.getProName());
|
parent.put("parentId", remark.getProId().toString());
|
List<TjOrderDetail> dels = new ArrayList<>();
|
if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
|
for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
|
if (remark.getProId().equals(tjOrderDetail.getProId())) {
|
String ckfw = tjOrderDetail.getStanId();
|
if (StrUtil.isNotBlank(tjOrderDetail.getProAdvice())) {
|
ckfw = ckfw.replace(tjOrderDetail.getProAdvice().trim(), "");
|
}
|
if (StrUtil.isNotBlank(ckfw)) {
|
try {
|
Integer.parseInt(tjOrderDetail.getYcbz());
|
String[] split = ckfw.split("-");
|
BigDecimal min = new BigDecimal(split[0]);
|
BigDecimal max = new BigDecimal(split[1]);
|
String proResult = tjOrderDetail.getProResult();
|
BigDecimal jyjgval = new BigDecimal(proResult);
|
if (jyjgval.compareTo(min) < 0) {
|
tjOrderDetail.setYcbz("↓");
|
} else if (jyjgval.compareTo(max) > 0) {
|
tjOrderDetail.setYcbz("↑");
|
} else {
|
tjOrderDetail.setYcbz("");
|
}
|
} catch (NumberFormatException ignored) {
|
ignored.printStackTrace();
|
}
|
}
|
if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().equals("")) {
|
tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]");
|
}
|
dels.add(tjOrderDetail);
|
}
|
}
|
String summary = remark.getSummary();
|
if (null != summary) {
|
String[] split = summary.split(";");
|
parent.put("parentAdvice", tjAdviceService.getAdviceStringByIds(split));
|
} else {
|
parent.put("parentAdvice", null);
|
}
|
if (dels.size() == 0) {
|
continue;
|
}
|
parent.put("sons", dels);
|
parent.put("remark", remark.getRemark());
|
if (remark.getDoctorName() != null && null != userService.getById(remark.getDoctorName())) {
|
parent.put("doctorName", userService.getById(remark.getDoctorName()).getNickName());
|
}
|
|
list.add(parent);
|
} else {
|
return AjaxResult.success("该客户没有体检项目数据");
|
}
|
}
|
return AjaxResult.success(list);
|
}
|
return AjaxResult.success("该客户没有体检项目数据!");
|
}
|
|
|
@GetMapping("/updateHYANDCGCheckType")
|
@ApiOperation(value = "总检点击体检信息详情————常规和化验项目")
|
public AjaxResult updateHYANDCGCheckType(@ApiParam(value = "客户体检号") @RequestParam String tjNumber) {
|
return getResult(tjNumber);
|
}
|
|
private AjaxResult getResult(String tjNumber) {
|
asyncService.updateCheckType(tjNumber);
|
List<Map<String, Object>> list = new ArrayList<>();
|
TjOrder one = orderService.getOrderByTjNum(tjNumber);
|
|
if (one == null) {
|
return AjaxResult.error("暂无数据!!");
|
}
|
// final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
|
// if(null !=getInfoFromSqlData && getInfoFromSqlData.equals("Y"))
|
// tbhyxm(one);
|
// TjCustomer customer = customerService.getById(one.getUserId());
|
List<TjOrderRemark> remarkList = orderRemarkService.addHuaYanAndCgTable(tjNumber);
|
List<TjOrderDetail> tjOrderDetails = detailService.addHuaYanAndCgTable(tjNumber);
|
|
|
if (null != remarkList && !remarkList.isEmpty()) {
|
for (TjOrderRemark remark : remarkList) {
|
Map<String, Object> parent = new HashMap<>();
|
parent.put("checkAdvice", one.getCheckAdvice());
|
parent.put("parent", remark.getProName());
|
parent.put("parentId", remark.getProsId());
|
parent.put("xmlb", remark.getXmlb());
|
parent.put("", remark.getXmlb());
|
List<TjOrderDetail> dels = new ArrayList<>();
|
if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
|
for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
|
if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
|
String ckfw = tjOrderDetail.getStanId();
|
if (null != ckfw && StrUtil.isNotBlank(tjOrderDetail.getProAdvice())) {
|
ckfw = ckfw.replace(tjOrderDetail.getProAdvice().trim(), "");
|
}
|
if (StrUtil.isNotBlank(ckfw)) {
|
try {
|
if (ckfw != null && ckfw.contains("-")) {
|
Integer.parseInt(tjOrderDetail.getYcbz());
|
String[] split = ckfw.split("-");
|
BigDecimal min = new BigDecimal(split[0]);
|
BigDecimal max = new BigDecimal(split[1]);
|
String proResult = tjOrderDetail.getProResult();
|
if (null != proResult) {
|
BigDecimal jyjgval = new BigDecimal(proResult);
|
if (jyjgval.compareTo(min) < 0) {
|
tjOrderDetail.setYcbz("↓");
|
} else if (jyjgval.compareTo(max) > 0) {
|
tjOrderDetail.setYcbz("↑");
|
} else if (proResult.contains("阴")) {
|
tjOrderDetail.setYcbz("");
|
} else {
|
tjOrderDetail.setYcbz("");
|
}
|
if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().isEmpty()) {
|
tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]");
|
}
|
} else {
|
tjOrderDetail.setYcbz("");
|
}
|
} else {
|
if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("阴"))
|
tjOrderDetail.setYcbz("");
|
|
if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("阳"))
|
tjOrderDetail.setYcbz("↑");
|
}
|
} catch (NumberFormatException ignored) {
|
}
|
} else {
|
tjOrderDetail.setYcbz("");
|
tjOrderDetail.setProResult(tjOrderDetail.getProResult());
|
}
|
|
if (remark.getOrgType().equals(tjOrderDetail.getOrgType())) {
|
dels.add(tjOrderDetail);
|
}
|
}
|
}
|
String summary = remark.getSummary();
|
if (null != summary) {
|
String[] split = summary.split(";");
|
parent.put("parentAdvice", tjAdviceService.getAdviceStringByIds(split));
|
} else {
|
parent.put("parentAdvice", null);
|
}
|
if (dels.isEmpty()) {
|
continue;
|
}
|
dels = dels.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
|
dels = dels.stream()
|
.sorted(Comparator.comparingInt(
|
tjPdfVO -> tjPdfVO.getProName().length() // 根据名字的长度排序
|
))
|
.collect(Collectors.toList());
|
parent.put("sons", dels);
|
parent.put("remark", remark.getRemark());
|
parent.put("jgbx", remark.getJgbx());
|
if (remark.getDoctorName() != null) {
|
parent.put("doctorName", remark.getDoctorName());
|
}
|
|
list.add(parent);
|
} else {
|
return AjaxResult.success("该客户没有体检项目数据");
|
}
|
}
|
return AjaxResult.success(list);
|
}
|
return AjaxResult.success("该客户没有体检项目数据!");
|
}
|
|
|
@GetMapping("/getTm")
|
@ApiOperation(value = "获取条码")
|
// @PreAuthorize("@ss.hasPermi('check:check:getTm')")
|
public AjaxResult getTm(@ApiParam(value = "客户体检号") @RequestParam String tjNumber) {
|
return AjaxResult.success(tjNumber);
|
}
|
|
/**
|
* 总检修改备注
|
*
|
* @return
|
*/
|
@PostMapping("/checkUpdateOrderRemark")
|
@ApiOperation(value = "总检修改备注接口")
|
public AjaxResult checkUpdateOrderRemark(@RequestBody List<UpdateOrderRemarkVo> updateOrderRemarkVos) {
|
if (null != updateOrderRemarkVos && !updateOrderRemarkVos.isEmpty()) {
|
for (UpdateOrderRemarkVo remarkVo : updateOrderRemarkVos) {
|
LambdaQueryWrapper<TjOrderRemark> wqm = new LambdaQueryWrapper<>();
|
wqm.eq(TjOrderRemark::getTjNumber, remarkVo.getTjNumber());
|
wqm.eq(TjOrderRemark::getProId, remarkVo.getProId());
|
TjOrderRemark remark = orderRemarkService.getOne(wqm);
|
if (null != remark) {
|
remark.setRemark(remarkVo.getRemarks());
|
orderRemarkService.updateById(remark);
|
}
|
}
|
}
|
return AjaxResult.success();
|
}
|
|
|
private AjaxResult getResult(Integer page, Integer pageSize, List<TjOrder> orderList, List<TjCustomer> customerList, Map<String, Object> map) {
|
for (TjOrder tjOrder : orderList) {
|
if (null != tjOrder) {
|
TjCustomer customer = customerService.selectTjCustomerByCusId(tjOrder.getUserId());
|
if (customer == null) {
|
continue;
|
}
|
customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
|
customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
|
customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
|
customer.setTjNumber(tjOrder.getTjNumber());
|
customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus()));
|
customer.setOrderId(tjOrder.getOrderId());
|
customer.setTjTime(tjOrder.getCreateTime());
|
customer.setFinishTime(tjOrder.getFinishTime());
|
customer.setConfirmStatus(String.valueOf(tjOrder.getStatus()));
|
customer.setTjCategory(tjOrder.getTjCategory());
|
if (tjOrder.getFirmId() == null) {
|
customer.setTjCompName("无");
|
} else {
|
DictComp byId = compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId());
|
if (byId != null) {
|
customer.setTjCompName(byId.getCnName());
|
}
|
}
|
customerList.add(customer);
|
}
|
}
|
List<TjCustomer> customers = customerList.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
|
map.put("customers", customers);
|
map.put("total", customerList.size());
|
return AjaxResult.success(map);
|
}
|
|
|
@GetMapping("/getzongjianyishengchakanyichangxiangmu")
|
@ApiOperation(value = "总检查看异常项目接口")
|
public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) {
|
try {
|
if (StrUtil.isNotBlank(tjNum)) {
|
TjOrder one = orderService.getOrderByTjNum(tjNum);
|
|
if (one == null) {
|
return AjaxResult.error("暂无数据!!");
|
}
|
yichangxiangmu(tjNum);
|
LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
|
wq.eq(TjOrderYcxm::getTjh, tjNum);
|
List<TjOrderYcxm> list = ycxmService.list(wq);
|
if (null != list && !list.isEmpty()) {
|
Collections.reverse(list);
|
return getOrderYcxmList(list);
|
} else {
|
return zongjianyishengchakanyichangxiangmu(tjNum);
|
}
|
}
|
return AjaxResult.error();
|
} catch (Exception ex) {
|
//throw new RuntimeException(ex);
|
log.error(ex.getMessage());
|
return AjaxResult.error();
|
}
|
}
|
|
private static AjaxResult getOrderYcxmList(List<TjOrderYcxm> list) {
|
try {
|
List<Map<String, Object>> maps = getYcxmMapList(list);
|
if (!maps.isEmpty()) {
|
List<Map<String, Object>> collect1 = maps.stream()
|
.sorted((map1, map2) -> map2.get("proName").toString().compareTo(map1.get("proName").toString()))
|
.collect(Collectors.toList());
|
return AjaxResult.success(collect1);
|
}
|
return AjaxResult.success(maps);
|
} catch (Exception ex) {
|
// throw new RuntimeException(ex);
|
log.error(ex.getMessage());
|
return AjaxResult.error();
|
}
|
}
|
|
private static List<Map<String, Object>> getYcxmMapList(List<TjOrderYcxm> list) {
|
try {
|
Map<String, List<TjOrderYcxm>> map = list.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName));
|
List<Map<String, Object>> maps = new ArrayList<>();
|
for (Map.Entry<String, List<TjOrderYcxm>> entry : map.entrySet()) {
|
Map<String, Object> parent = new HashMap<>();
|
List<TjOrderDetail> dels = new ArrayList<>();
|
for (TjOrderYcxm ycxm : entry.getValue()) {
|
TjOrderDetail detail = new TjOrderDetail();
|
detail.setOrderDetailId(Long.valueOf(ycxm.getId()));
|
detail.setProName(ycxm.getJcxm());
|
detail.setProResult(ycxm.getJcjg());
|
detail.setStanId(ycxm.getCkfw());
|
detail.setProAdvice(ycxm.getDw());
|
List<Map<String, Object>> btnrlist = new ArrayList<>();
|
String jynr = ycxm.getJynr();
|
JSONArray array = JSONUtil.parseArray(jynr);
|
for (Object object : array) {
|
Map<String, Object> objectMap = new HashMap<>();
|
JSONObject jsonObject = (JSONObject) object;
|
String bt = jsonObject.getStr("bt");
|
String nr = jsonObject.getStr("nr");
|
objectMap.put("bt", bt);
|
objectMap.put("nr", nr);
|
if (null != bt || null != nr) btnrlist.add(objectMap);
|
}
|
detail.setAdvices(btnrlist);
|
dels.add(detail);
|
}
|
|
parent.put("proName", entry.getKey());
|
parent.put("jyjc", entry.getValue().get(0).getJyjc());
|
parent.put("sone", dels);
|
maps.add(parent);
|
}
|
return maps;
|
} catch (NumberFormatException ex) {
|
// throw new RuntimeException(ex);
|
log.error(ex.getMessage());
|
return null;
|
}
|
}
|
|
private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) {
|
List<Map<String, Object>> list = new ArrayList<>();
|
try {
|
List<TjOrderYcxm> tjOrderYcxms = new ArrayList<>();
|
TjOrder order = orderService.getOrderByTjNum(tjNumber);
|
String xb= customerService.getSexByTjh(tjNumber);
|
if (null != order) {
|
List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber);
|
List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber);
|
LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
|
wq.eq(TjOrderYcxm::getTjh, tjNumber);
|
List<TjOrderYcxm> ycxmList = ycxmService.list(wq);
|
if (null != remarkList && !remarkList.isEmpty()) {
|
for (TjOrderRemark remark : remarkList) {
|
Map<String, Object> parent = new HashMap<>();
|
if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
|
List<TjOrderDetail> dels = new ArrayList<>();
|
for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
|
if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
|
if (null != tjOrderDetail.getProId() && null != tjOrderDetail.getYcbz()) {
|
if (!tjOrderDetail.getDeptId().equals("2")) {
|
String replacedAll = tjOrderDetail.getProName().replaceAll("[((][^))]*[\u4e00-\u9fa5]+[^))]*[))]", "").replaceAll("[((][^))]*[))]", "")
|
.replaceAll("[ 测定检测]", "").replaceAll("\\[.*?\\]", "").replaceAll("◆", "");
|
List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
|
, replacedAll,
|
tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber
|
,replacedAll
|
, tjOrderDetail.getProResult());
|
|
|
if (null != maps && !maps.isEmpty()) {
|
tjOrderDetail.setAdvices(maps);
|
}
|
|
} else {
|
String[] split = tjOrderDetail.getProResult().split("[。,,::.\\s]+");
|
List<Map<String, Object>> mapList = new ArrayList<>();
|
for (String s : split) {
|
s = s.replaceAll("\n", "").replaceAll("[((][^))]*[))]", "").replaceAll(" ","")
|
.replaceAll("症","").replaceAll("[0-9]", "");
|
Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0",xb);
|
if (null != maps && !maps.isEmpty()) {
|
Object bt = maps.get("bt");
|
Object nr = maps.get("nr");
|
if (null != bt || null != nr) mapList.add(maps);
|
}
|
}
|
tjOrderDetail.setAdvices(mapList);
|
}
|
|
}
|
if (null == ycxmList || ycxmList.isEmpty()) {
|
TjOrderYcxm ycxm = new TjOrderYcxm();
|
ycxm.setTjh(tjNumber);
|
ycxm.setParentName(remark.getProName());
|
ycxm.setJcxm(tjOrderDetail.getProName());
|
ycxm.setJcjg(tjOrderDetail.getProResult());
|
ycxm.setCkfw(tjOrderDetail.getStanId());
|
ycxm.setDw(tjOrderDetail.getProAdvice());
|
ycxm.setJynr(JSONUtil.toJsonStr(tjOrderDetail.getAdvices()));
|
ycxm.setJyjc(remark.getJyjc());
|
if (ycxmService.save(ycxm)) {
|
tjOrderYcxms.add(ycxm);
|
}
|
}
|
dels.add(tjOrderDetail);
|
}
|
}
|
if (!dels.isEmpty()) {
|
parent.put("proName", remark.getProName());
|
parent.put("jyjc", remark.getJyjc());
|
parent.put("sone", dels);
|
list.add(parent);
|
}
|
}
|
}
|
if (!tjOrderYcxms.isEmpty()) {
|
Collections.reverse(tjOrderYcxms);
|
return getOrderYcxmList(tjOrderYcxms);
|
}
|
|
}
|
}
|
return AjaxResult.success(list);
|
} catch (Exception ex) {
|
// throw new RuntimeException(ex);
|
log.error(ex.getMessage());
|
return AjaxResult.success(list);
|
}
|
}
|
|
private void yichangxiangmu(String tjNumber) {
|
try {
|
List<TjOrderYcxm> tjOrderYcxmList= ycxmService.selectListByTjh(tjNumber);
|
String xb= customerService.getSexByTjh(tjNumber);
|
if(null !=tjOrderYcxmList && !tjOrderYcxmList.isEmpty()){
|
|
List<Map<String, Object>> list = new ArrayList<>();
|
TjOrder order = orderService.getOrderByTjNum(tjNumber);
|
if (null != order) {
|
List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber);
|
List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber);
|
if (null != remarkList && !remarkList.isEmpty()) {
|
for (TjOrderRemark remark : remarkList) {
|
Map<String, Object> parent = new HashMap<>();
|
if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
|
List<TjOrderDetail> dels = new ArrayList<>();
|
for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
|
if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
|
if (null != tjOrderDetail.getProId() && null != tjOrderDetail.getYcbz()) {
|
if (!tjOrderDetail.getDeptId().equals("2")) {
|
|
String replacedAll = tjOrderDetail.getProName().replaceAll("[((][^))]*[\u4e00-\u9fa5]+[^))]*[))]", "").replaceAll("[((][^))]*[))]", "")
|
.replaceAll("[ 测定检测]", "").replaceAll("\\[.*?\\]", "").replaceAll("◆", "");
|
|
List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
|
,replacedAll,
|
tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber
|
, replacedAll
|
, tjOrderDetail.getProResult());
|
|
|
if (null != maps && !maps.isEmpty()) {
|
tjOrderDetail.setAdvices(maps);
|
}
|
|
} else {
|
String[] split = tjOrderDetail.getProResult().split("。|,|,");
|
List<Map<String, Object>> mapList = new ArrayList<>();
|
for (String s : split) {
|
s = s.replaceAll("\n", "").replaceAll("[((][^))]*[))]", "");
|
Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0",xb);
|
if (null != maps && !maps.isEmpty()) {
|
Object bt = maps.get("bt");
|
Object nr = maps.get("nr");
|
if (null != bt || null != nr) mapList.add(maps);
|
}
|
}
|
tjOrderDetail.setAdvices(mapList);
|
}
|
|
}
|
dels.add(tjOrderDetail);
|
}
|
}
|
if (!dels.isEmpty()) {
|
parent.put("proName", remark.getProName());
|
parent.put("jyjc", remark.getJyjc());
|
parent.put("sone", dels);
|
list.add(parent);
|
}
|
}
|
}
|
}
|
}
|
List<Map<String, Object>> maps = getYcxmMapList(tjOrderYcxmList);
|
List<Map<String, Object>> collect = list.stream()
|
.filter(b -> maps.stream()
|
.noneMatch(a -> a.get("proName").equals(b.get("proName")))) // 过滤掉在 maps 中存在的相同元素
|
.collect(Collectors.toList());
|
|
if(!collect.isEmpty()){
|
for (Map<String, Object> map : collect) {
|
for (TjOrderDetail detail : (List<TjOrderDetail>) map.get("sone")) {
|
TjOrderYcxm ycxm = new TjOrderYcxm();
|
ycxm.setTjh(tjNumber);
|
ycxm.setParentName(map.get("proName").toString());
|
ycxm.setJcxm(detail.getProName());
|
ycxm.setJcjg(detail.getProResult());
|
ycxm.setCkfw(detail.getStanId());
|
ycxm.setDw(detail.getProAdvice());
|
ycxm.setJynr(JSONUtil.toJsonStr(detail.getAdvices()));
|
ycxm.setJyjc(map.get("jyjc").toString());
|
ycxmService.save(ycxm);
|
}
|
}
|
}
|
}
|
|
} catch (Exception ex) {
|
log.error(ex.getMessage());
|
}
|
}
|
|
@GetMapping("/delzongjianyishengchakanyichangxiangmu")
|
@ApiOperation(value = "总检删除异常项目接口")
|
public AjaxResult delzongjianyishengchakanyichangxiangmu(@RequestParam String id) {
|
ycxmService.removeById(id);
|
return AjaxResult.success();
|
}
|
|
|
@GetMapping("/chushenyemianchakanxiangmujieguo")
|
@ApiOperation(value = "初审页面查看项目结果接口")
|
public AjaxResult chushenyemianchakanxiangmujieguo(@RequestParam String proId, @RequestParam String tjNum) {
|
List<Map<String, Object>> maps = projectService.tjCsXmjgcx(tjNum, proId);
|
return AjaxResult.success(maps);
|
}
|
|
@GetMapping("/panduaniscunzaiweijian")
|
@ApiOperation(value = "初审页面查看项目前判断是否全部未检接口")
|
public AjaxResult panduaniscunzaiweijian(@RequestParam String tjNum) {
|
int a = orderRemarkService.panduaniscunzaiweijian(tjNum);
|
return AjaxResult.success(a);
|
}
|
|
|
@PostMapping("/addOrderYcXmByTjh")
|
@ApiOperation(value = "总检医生页面新增异常项目建议")
|
public AjaxResult addOrderYcXmJyByTjh(@RequestBody List<TjOrderYcxm> ycxms) {
|
if (null != ycxms && !ycxms.isEmpty()) {
|
String tjh = ycxms.get(0).getTjh();
|
if (StringUtils.isNotBlank(tjh)) {
|
ycxmService.delOrderYcXmJyByTjh(tjh);
|
|
for (TjOrderYcxm ycxm : ycxms) {
|
ycxm.setJynr(JSONUtil.toJsonStr(ycxm.getMap()));
|
}
|
// List<TjOrderYcxm> collect = ycxms.stream().distinct().collect(Collectors.toList());
|
ycxmService.saveBatch(ycxms);
|
return AjaxResult.success();
|
}
|
}
|
return AjaxResult.success();
|
}
|
|
|
/**
|
* 同步sql server数据到本地数据库数据接口
|
*/
|
@GetMapping("/newdataSynchronization")
|
@ApiOperation(value = "最新公共同步sql server数据到本地数据库数据接口")
|
@RepeatSubmit
|
public AjaxResult newdataSynchronization(@RequestParam String tjNumber) {
|
try {
|
//根据配置调取存储过程 将临时表数据存入预约表2023.12.12
|
final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis");
|
TjOrder order = orderService.getOrderByTjNum(tjNumber);
|
if (null != order) {
|
if (null != sfkqdyhis && sfkqdyhis.equals("Y")) {
|
dataSynchronizationApi(tjNumber);
|
} else {
|
configController.shoudongtbjyjcwsxmjg("jyjc", tjNumber);
|
}
|
return AjaxResult.success("同步成功");
|
}
|
return AjaxResult.error("未查到该人员体检记录");
|
} catch (Exception e) {
|
// throw new RuntimeException(ex);
|
log.error(String.valueOf(e), e.getMessage());
|
return AjaxResult.error("该人员数据正在同步中,请稍等");
|
}
|
}
|
|
|
/**
|
* 查询复查项目列表
|
* @param tjNum 体检号
|
* @param type 复查状态 0未复查状态 1复查状态
|
* @return
|
*/
|
@GetMapping("/getFcList")
|
public AjaxResult getFcList(@RequestParam("tjNum") String tjNum,@RequestParam("type") Integer type){
|
TjOrder order = orderService.getOrderByTjNum(tjNum);
|
if (order == null)
|
return AjaxResult.error();
|
List<ProFcListVo> list = detailService.getFcList(order.getOrderId(),type);
|
return AjaxResult.success(list);
|
}
|
|
/**
|
* 复查项目提交
|
* @param json
|
* @return
|
*/
|
@PostMapping("/UpdFcPro")
|
public AjaxResult updFcPro(@RequestBody String json) {
|
return detailService.updFcPro(json);
|
}
|
|
}
|