| | |
| | | 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.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 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.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; |
| | | |
| | | /** |
| | | * @Author: 西安路泰科技有限公司/赵佳豪 |
| | | * @Date: 2022/12/6 14:29 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/check") |
| | | @Api(tags = "总检医师相关接口") |
| | | @RequestMapping ("/check") |
| | | @Api (tags = "AAAAAAAAAAAA总检医师相关接口") |
| | | @Slf4j |
| | | public class TjCheckController { |
| | | @Resource |
| | | private ITjOrderService orderService; |
| | |
| | | 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; |
| | | |
| | | |
| | | @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("/getOperationPermissionsByTjNum") |
| | | @ApiOperation(value = "(初审页面 和 医生页面)根据体检号获取是否可操作权限接口 true可操作 反之不可") |
| | | public AjaxResult getOperationPermissionsByTjNum(@ApiParam(value = "体检号") @RequestParam String tjNumber) { |
| | | // @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){ |
| | | if (null != order) { |
| | | Integer status = order.getStatus(); |
| | | if(status<300){ |
| | | if (status < 300) { |
| | | return AjaxResult.success(true); |
| | | } |
| | | if(status>300){ |
| | | if (status > 300) { |
| | | return AjaxResult.success(false); |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | @GetMapping("/getCsList") |
| | | @ApiOperation(value = "初审查询体检记录客户列表")//0待1已 |
| | | @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 beginTime, |
| | | @ApiParam(value = "结束时间") @RequestParam(required = false) String endTime) { |
| | | 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 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); |
| | | } |
| | | // 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 = ""; |
| | | return AjaxResult.success(orderService.getCsCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name)); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 初审 |
| | | */ |
| | | @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); |
| | | } |
| | | @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(); |
| | | // } |
| | | // }); |
| | | // } |
| | | |
| | | 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 = "初审(并修改状态)接口") |
| | | // @PreAuthorize("@ss.hasPermi('check:check:confirmOrder')") |
| | | @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) { |
| | | 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 (num > 0) return AjaxResult.error("请检查是否存在未检或延期项目"); |
| | | 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); |
| | | TjOrder tjOrder = orderService.getOrderByTjNum(tjNumber); |
| | | if (null != tjOrder) { |
| | | tjOrder.setConfirmTime(new DateTime()); |
| | | tjOrder.setConfirmDoctor(sysUser.getNickName()); |
| | | tjOrder.setConfirmStatus(remark); |
| | | if(status==0){ |
| | | tjOrder.setConfirmStatus(String.valueOf(status)); |
| | | if (status == 0) { |
| | | tjOrder.setStatus(TjConstants.TJ_CHECK); |
| | | }else { |
| | | // asyncService.updateCheckType(tjNumber); |
| | | } else { |
| | | tjOrder.setStatus(TjConstants.TJ_REFUSED); |
| | | } |
| | | if (orderService.updateById(tjOrder)) { |
| | |
| | | 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("操作失败"); |
| | |
| | | |
| | | |
| | | /** |
| | | * 查询体检记录客户列表 |
| | | * |
| | | * @param tjNumber |
| | | * @param checkStatus |
| | | * @param page |
| | | * @param pageSize |
| | | * @param compId |
| | | * @param beginTime |
| | | * @param endTime |
| | | * @return |
| | | * 同步sql server数据到本地数据库数据接口 |
| | | */ |
| | | @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) { |
| | | @GetMapping ("/dataSynchronization") |
| | | @ApiOperation (value = "同步sql server数据到本地数据库数据接口") |
| | | @RepeatSubmit |
| | | // @Transactional |
| | | public AjaxResult dataSynchronization(@RequestParam String tjNumber) { |
| | | |
| | | 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<>(); |
| | | 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"); |
| | | |
| | | //姓名查询 |
| | | 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()); |
| | | 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()); |
| | | |
| | | } |
| | | 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())); |
| | | if (tjOrder.getFirmId().equals("0")) { |
| | | customer.setTjCompName(null); |
| | | } else { |
| | | customer.setTjCompName(compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()).getCnName()); |
| | | |
| | | //开启和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("化验项目暂时未出结果,请稍后同步!!!"); |
| | | } |
| | | lists.add(customer); |
| | | 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); |
| | | // AjaxResult results = service.getHISDataNew("Getexamreportinfo", maps); |
| | | |
| | | LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Getexamreportinfo"); |
| | | HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); |
| | | |
| | | |
| | | /*同步检查 his存储过程*/ |
| | | AjaxResult 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()); |
| | | 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()); |
| | | 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("同步成功"); |
| | | } |
| | | 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.error("未查到该人员体检记录"); |
| | | } |
| | | 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) { |
| | | 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); |
| | | return AjaxResult.error("该人员数据正在同步中,请稍等"); |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | 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); |
| | | //同步化验项目 |
| | | // testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); |
| | | //同步检查项目 |
| | | // testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); |
| | | 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.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")) { |
| | | return AjaxResult.error("化验项目暂时未出结果,请稍后同步!!!"); |
| | | } |
| | | JSONArray data = object.getJSONArray("ResultData"); |
| | | for (Object datum : data) { |
| | | JSONObject jsonObject = (JSONObject) datum; |
| | | 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); |
| | | } |
| | | } |
| | | //同步化验项目 |
| | | // 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存储过程*/ |
| | | AjaxResult 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()); |
| | | // testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); |
| | | }else { |
| | | return AjaxResult.error("检查项目暂时未出结果,请稍后同步!!!"); |
| | | } |
| | | } |
| | | } |
| | | return AjaxResult.success("同步成功"); |
| | | } |
| | | //化验 |
| | | // testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); |
| | | //检查 |
| | | jcsqdService.saveLtkjExamJcsqd(order.getCardId()); |
| | | return AjaxResult.success("同步成功"); |
| | | } |
| | | return AjaxResult.error("未查到该人员体检记录"); |
| | | } |
| | | return AjaxResult.error("该人员数据正在同步中,请稍等"); |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | 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 checkStatus |
| | | * @return |
| | | */ |
| | | @PutMapping("/getTjdetailList") |
| | | @ApiOperation(value = "根据体检订单号获取体检详情信息(并修改状态)接口") |
| | | @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) { |
| | | public AjaxResult getTjdetailList(@ApiParam (value = "体检tjNumber") @RequestParam String tjNumber, |
| | | @ApiParam (value = "总检建议") @RequestParam (required = false) String advice, |
| | | @ApiParam (value = "审核状态0待审核1已审核") @RequestParam Integer checkStatus) { |
| | | |
| | | int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); |
| | | if (num > 0) return AjaxResult.error("有延期项目暂不能生成报告!!!"); |
| | | 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); |
| | |
| | | tjOrder.setCheckStatus(checkStatus); |
| | | tjOrder.setStatus(TjConstants.TJ_CHECK); |
| | | tjOrder.setCheckDoctor(sysUser.getNickName()); |
| | | tjOrder.setCheckTime(new Date()); |
| | | 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)) { |
| | | LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>(); |
| | | wqq.eq(TbTransition::getCusId, customer.getCusIdcard()); |
| | | transitionService.remove(wqq); |
| | | asyncService.updateCheckType(tjNumber); |
| | | return AjaxResult.success("操作成功"); |
| | | } |
| | | return AjaxResult.error("操作失败"); |
| | |
| | | |
| | | |
| | | /** |
| | | * 总检点击体检信息详情 |
| | | * 总检点击体检信息详情————非化验项目 |
| | | * |
| | | * @param tjNumber |
| | | * @return |
| | | */ |
| | | @GetMapping("/updateCheckType") |
| | | @ApiOperation(value = "总检点击体检信息详情") |
| | | // @PreAuthorize("@ss.hasPermi('check:check:updateCheckType')") |
| | | public AjaxResult updateCheckType(@ApiParam(value = "客户体检号") @RequestParam String tjNumber) { |
| | | @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<>(); |
| | | LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); |
| | | wq1.eq(TjOrder::getTjNumber, tjNumber); |
| | | TjOrder one = orderService.getOne(wq1); |
| | | TjOrder one = orderService.getOrderByTjNum(tjNumber); |
| | | |
| | | if (one == null) { |
| | | return AjaxResult.error("暂无数据!!"); |
| | | } |
| | | LambdaQueryWrapper<TjCustomer> wq22 = new LambdaQueryWrapper<>(); |
| | | wq22.eq(TjCustomer::getCusId, one.getUserId()); |
| | | TjCustomer customer = customerService.getOne(wq22); |
| | | LambdaQueryWrapper<TjOrderRemark> wqm = new LambdaQueryWrapper<>(); |
| | | wqm.eq(TjOrderRemark::getTjNumber, tjNumber); |
| | | wqm.eq(TjOrderRemark::getType, 1); |
| | | List<TjOrderRemark> remarkList = orderRemarkService.list(wqm); |
| | | |
| | | 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()); |
| | | } |
| | | LambdaQueryWrapper<TjProject> wq2 = new LambdaQueryWrapper<>(); |
| | | wq2.eq(TjProject::getProParentId, remark.getProId()); |
| | | List<Long> sonsTjProjectList = projectService.list(wq2).stream().map(TjProject::getProId).collect(Collectors.toList()); |
| | | if (sonsTjProjectList.size() > 0) { |
| | | LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjOrderDetail::getOrderId, one.getOrderId()); |
| | | wq.in(TjOrderDetail::getProId, sonsTjProjectList); |
| | | List<TjOrderDetail> tjOrderDetails = detailService.list(wq); |
| | | if (null != tjOrderDetails && tjOrderDetails.size() > 0) { |
| | | for (TjOrderDetail tjOrderDetail : tjOrderDetails) { |
| | | LambdaQueryWrapper<TjProject> wqqqq = new LambdaQueryWrapper<>(); |
| | | wqqqq.eq(TjProject::getProId, tjOrderDetail.getProId()); |
| | | tjOrderDetail.setProject(projectService.getOne(wqqqq)); |
| | | LambdaQueryWrapper<TjStandard> wq6 = new LambdaQueryWrapper<>(); |
| | | wq6.eq(TjStandard::getProId, tjOrderDetail.getProId()); |
| | | List<TjStandard> list2 = tjStandardService.list(wq6); |
| | | if (list2.size() == 0) { |
| | | tjOrderDetail.setStandard(new TjStandard()); |
| | | } else if (list2.size() == 1) { |
| | | tjOrderDetail.setStandard(list2.get(0)); |
| | | } else { |
| | | for (TjStandard tjStandard : list2) { |
| | | LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>(); |
| | | if (tjStandard.getTjSex() != null) { |
| | | wq8.eq(TjStandard::getTjSex, customer.getCusSex()); |
| | | } |
| | | if (tjStandard.getTjType() != null) { |
| | | wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday()))); |
| | | } |
| | | tjOrderDetail.setStandard(tjStandardService.getOne(wq8)); |
| | | } |
| | | } |
| | | } |
| | | String summary = remark.getSummary(); |
| | | if (null != summary) { |
| | | String[] split = summary.split(";"); |
| | | LambdaQueryWrapper<TjAdvice> wq3 = new LambdaQueryWrapper<>(); |
| | | wq3.in(TjAdvice::getId, Arrays.asList(split)); |
| | | List<TjAdvice> advices = tjAdviceService.list(wq3); |
| | | if (null != advices && advices.size() > 0) { |
| | | StringBuilder string = new StringBuilder(); |
| | | for (TjAdvice advice : advices) { |
| | | string.append(advice.getTitle()).append(";"); |
| | | } |
| | | parent.put("parentAdvice", string); |
| | | } |
| | | 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 { |
| | | parent.put("parentAdvice", null); |
| | | metering = byId.getProMetering(); |
| | | tjOrderDetail.setProject(byId); |
| | | } |
| | | 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<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); |
| | | } |
| | | list.add(parent); |
| | | } else { |
| | | return AjaxResult.success("该客户没有体检项目数据"); |
| | | } |
| | | 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); |
| | |
| | | } |
| | | |
| | | |
| | | @GetMapping("/getTm") |
| | | @ApiOperation(value = "获取条码") |
| | | /** |
| | | * 总检点击体检信息详情————化验项目 |
| | | * |
| | | * @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()); |
| | | } |
| | | |
| | | 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; |
| | | } |
| | | 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) { |
| | | public AjaxResult getTm(@ApiParam (value = "客户体检号") @RequestParam String tjNumber) { |
| | | return AjaxResult.success(tjNumber); |
| | | } |
| | | |
| | | /** |
| | | * 总检修改备注 |
| | | * |
| | | * @return |
| | | */ |
| | | @PostMapping("/checkUpdateOrderRemark") |
| | | @ApiOperation(value = "总检修改备注接口") |
| | | @PostMapping ("/checkUpdateOrderRemark") |
| | | @ApiOperation (value = "总检修改备注接口") |
| | | public AjaxResult checkUpdateOrderRemark(@RequestBody List<UpdateOrderRemarkVo> updateOrderRemarkVos) { |
| | | if (null != updateOrderRemarkVos && updateOrderRemarkVos.size() > 0) { |
| | | for (UpdateOrderRemarkVo remarkVo : updateOrderRemarkVos) { |
| | |
| | | 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 { |
| | |
| | | return AjaxResult.success(map); |
| | | } |
| | | |
| | | |
| | | |
| | | @GetMapping ("/getzongjianyishengchakanyichangxiangmu") |
| | | @ApiOperation (value = "总检查看异常项目接口") |
| | | public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) { |
| | | if (StrUtil.isNotBlank(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); |
| | | 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.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 AjaxResult.success(maps); |
| | | }else { |
| | | return zongjianyishengchakanyichangxiangmu(tjNum); |
| | | } |
| | | |
| | | // return zongjianyishengchakanyichangxiangmu(tjNum); |
| | | } |
| | | return AjaxResult.error(); |
| | | } |
| | | |
| | | private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) { |
| | | // asyncService.updateCheckType(tjNumber); |
| | | TjOrder one = orderService.getOrderByTjNum(tjNumber); |
| | | |
| | | if (one == null) { |
| | | return AjaxResult.error("暂无数据!!"); |
| | | } |
| | | List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber); |
| | | List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber); |
| | | List<Map<String, Object>> list = new ArrayList<>(); |
| | | 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")){ |
| | | List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString() |
| | | ,"",tjOrderDetail.getYcbz().replaceAll(" ", ""),tjNumber |
| | | ,tjOrderDetail.getProName().replaceAll("[((][^))]*[))]", "") |
| | | .replaceAll("[ 测定检测]","") |
| | | ,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", ""); |
| | | // Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s); |
| | | Map<String,Object> maps= tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(),s,"0"); |
| | | 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); |
| | | } |
| | | } else { |
| | | return AjaxResult.success("该人员无异常项目"); |
| | | } |
| | | } |
| | | return AjaxResult.success(list); |
| | | } |
| | | 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())); |
| | | } |
| | | ycxmService.saveBatch(ycxms); |
| | | return AjaxResult.success(); |
| | | } |
| | | } |
| | | return AjaxResult.error(); |
| | | } |
| | | |
| | | |
| | | |
| | | } |