| | |
| | | import com.ltkj.hosp.domain.*; |
| | | import com.ltkj.hosp.mapper.DictUserInfoMapper; |
| | | import com.ltkj.hosp.service.*; |
| | | import com.ltkj.hosp.sqlDomain.LtkjExamJcbgd; |
| | | import com.ltkj.hosp.sqlDomain.LtkjHybgd; |
| | | import com.ltkj.hosp.sqlDomain.LtkjHysqd; |
| | | import com.ltkj.system.service.ISysConfigService; |
| | |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.io.*; |
| | | import java.lang.reflect.Field; |
| | | import java.lang.reflect.InvocationTargetException; |
| | |
| | | private DictUserInfoMapper dictUserInfoMapper; |
| | | @Autowired |
| | | private ISysConfigService sysConfigService; |
| | | @Resource |
| | | private LtkjExamJcbgdService jcbgdService; |
| | | @Resource |
| | | private LtkjExamJcsqdService jcsqdService; |
| | | |
| | | private List<Map<String, Object>> makePDFInfo(HashMap<String, Object> map, AjaxResult ajaxResult, String key) { |
| | | List<Map<String, Object>> data = null; |
| | |
| | | // 组装检验数据 |
| | | HashMap<String, Object> map = makeHisJianYan(tjOrder, customer); |
| | | makeHisJianYanTable(document1, map); |
| | | |
| | | |
| | | List<ByteArrayOutputStream> jianchas = makeHisJianChaTable(tjOrder); |
| | | // List<ByteArrayOutputStream> jianchas = makeCcgcHisJianChaTable(tjOrder); |
| | | document1.close(); |
| | | pdfWriter.close(); |
| | | PdfReader reader = null; |
| | |
| | | return jianchas; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 生成检查表格存储过程时用 |
| | | * |
| | | * @param tjOrder |
| | | * @return |
| | | */ |
| | | private List<ByteArrayOutputStream> makeCcgcHisJianChaTable(TjOrder tjOrder) throws Exception { |
| | | |
| | | TjCustomer customer = tjCustomerService.getById(tjOrder.getUserId()); |
| | | |
| | | List<LtkjExamJcbgd> list=jcbgdService.getJianJcBaoGaoDanByTjh(tjOrder.getCardId()); |
| | | |
| | | List<ByteArrayOutputStream> jianchas = new ArrayList<>(); |
| | | Paragraph elements = new Paragraph(); |
| | | elements.setLeading(5f); |
| | | elements.setSpacingBefore(10f); |
| | | elements.setSpacingAfter(10f); |
| | | elements.setAlignment(Element.ALIGN_RIGHT); |
| | | |
| | | for (LtkjExamJcbgd getexamreportinfo : list) { |
| | | String xm = customer.getCusName(); |
| | | String xb = customer.getCusSex()==2 ? "女" : "男"; |
| | | String nl = customer.getAge(); |
| | | String jcks = "体检中心"; |
| | | String sjks = ""; |
| | | String jcsb = ""; |
| | | String jch = getexamreportinfo.getTmh(); |
| | | String jcxm = getexamreportinfo.getXmmc(); |
| | | String ms = getexamreportinfo.getYxbx(); |
| | | String ts = getexamreportinfo.getYxzd(); |
| | | String bgysqm = getexamreportinfo.getShysxm(); |
| | | String shysqm = getexamreportinfo.getShysdm(); |
| | | String sqrxm = "王健萍"; |
| | | String zyh = ""; |
| | | String ch = ""; |
| | | String jcysqm = getexamreportinfo.getShysdm(); |
| | | StringBuilder builder; |
| | | String footer; |
| | | builder = new StringBuilder(); |
| | | if (null != sqrxm && StrUtil.isNotBlank(sqrxm)){ |
| | | builder.append("申请人:").append(sqrxm); |
| | | } |
| | | if (null != jcysqm && StrUtil.isNotBlank(jcysqm)){ |
| | | builder.append(" 检查医师:").append(jcysqm); |
| | | } |
| | | if (null != shysqm && StrUtil.isNotBlank(shysqm)){ |
| | | builder.append(" 审核医师:").append(shysqm); |
| | | } |
| | | if (null != bgysqm && StrUtil.isNotBlank(bgysqm)){ |
| | | builder.append(" 报告医师:").append(bgysqm); |
| | | } |
| | | footer = builder.toString().trim(); |
| | | ByteArrayOutputStream outputStream = makeJcPDFByteArrayStream(xm, xb, nl, jcks, zyh, ch, sjks, jcsb, jch, jcxm, ms, ts, null, footer,elements); |
| | | if (outputStream == null) |
| | | throw new Exception(); |
| | | jianchas.add(outputStream); |
| | | } |
| | | return jianchas; |
| | | } |
| | | |
| | | /** |
| | | * 医师信息行 |
| | | * @param phrase |
| | |
| | | private HisApiMethodService controller; |
| | | @Autowired |
| | | private HisApiGetMethodService service; |
| | | |
| | | @Autowired |
| | | private HisApiConfigService hisApiConfigService; |
| | | |
| | | @GetMapping ("/getOperationPermissionsByTjNum") |
| | | @ApiOperation (value = "(初审页面 和 医生页面)根据体检号获取是否可操作权限接口 true可操作 反之不可") |
| | |
| | | |
| | | /*同步检查 his接口*/ |
| | | |
| | | // Map<String, Object> maps = new HashMap<>(); |
| | | // maps.put("his_registration_id", order.getCardId()); |
| | | // maps.put("ksbm", "体检中心"); |
| | | // maps.put("pagecount", 100); |
| | | // maps.put("page", 1); |
| | | 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存储过程*/ |
| | |
| | | jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId()); |
| | | jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId()); |
| | | for (Map<String, Object> objectMap : datas) { |
| | | // LtkjExamJcsqd jybgid = jcsqdService.getLtkjJcsqdByTjhAndTmh(order.getCardId(), objectMap.get("JCBGID").toString()); |
| | | // if (null != jybgid) { |
| | | // jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId(), objectMap.get("JCBGID").toString()); |
| | | // jcbgdService.deletedLtkjJcbgdByTjhAndTmh(jybgid.getTmh()); |
| | | // } |
| | | //保存入参出参 |
| | | // 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("")) |
| | |
| | | @ApiParam (value = "显示条数(默认10)") @RequestParam (defaultValue = "10") Integer pageSize, |
| | | @ApiParam (value = "体检号)") @RequestParam (required = false) String tjNum, |
| | | @ApiParam (value = "姓名)") @RequestParam (required = false) String name, |
| | | @ApiParam (value = "项目名)") @RequestParam (required = false) String xmmc, |
| | | @ApiParam (value = "登记开始时间") @RequestParam (required = false) Date djbeginTime, |
| | | @ApiParam (value = "登记结束时间") @RequestParam (required = false) Date djendTime, |
| | | @ApiParam (value = "报告开始时间") @RequestParam (required = false) Date bgbeginTime, |
| | |
| | | if (null != tjNum) { |
| | | wq.eq(TjOrder::getTjNumber, tjNum); |
| | | } |
| | | |
| | | |
| | | if (null != xmmc) { |
| | | wq.in(TjOrder::getTjNumber, projectService.getTjNumLIstByXmmx(xmmc)); |
| | | } |
| | | |
| | | wq.orderByDesc(TjOrder::getCreateTime); |
| | | Page<TjOrder> page2 = tjOrderService.page(page1, wq); |
| | | List<TjOrder> list = page2.getRecords(); |
| | |
| | | order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); |
| | | order.setTjCustomerName(tjCustomer.getCusName()); |
| | | order.setTjCustomerPhone(tjCustomer.getCusPhone()); |
| | | // order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); |
| | | order.setTjCusIdCard(tjCustomer.getCusIdcard()); |
| | | order.setCareer(tjCustomer.getCareer()); |
| | | order.setIdType(tjCustomer.getIdType()); |
| | |
| | | if (null != order.getPacId()) { |
| | | if (null != tjPackageService.getById(order.getPacId())) { |
| | | order.setPacName(tjPackageService.getById(order.getPacId()).getPacName()); |
| | | } |
| | | }else |
| | | if (null != dwDeptService.getById(order.getPacId())) { |
| | | order.setPacName(dwDeptService.getById(order.getPacId()).getDwDeptName()); |
| | | } |
| | |
| | | private ISysDictDataService dictDataService; |
| | | @Resource |
| | | private ITbTransitionService transitionService; |
| | | |
| | | @Autowired |
| | | private ITjBigPositiveService tjBigPositiveService; |
| | | @Autowired |
| | |
| | | return AjaxResult.error(); |
| | | } |
| | | |
| | | @Autowired |
| | | private TjReportController tjReportController; |
| | | |
| | | |
| | | /** |
| | | * 撤销 |
| | |
| | | //创建map 键为父项目 值为子项目集合 |
| | | Map<TjOrderRemark, List<TjPdfVO>> printReport = new LinkedHashMap<>(); |
| | | //查到该客户的体检记录 |
| | | // LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); |
| | | // wq1.eq(TjOrder::getTjNumber, tjNumber); |
| | | // TjOrder one = tjOrderService.getOne(wq1); |
| | | |
| | | //拿到体检记录的orderid,查出项目详细信息 |
| | | // LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>(); |
| | | // wq.eq(TjOrderDetail::getOrderId, one.getOrderId()); |
| | | // //20230323判断项目已检 |
| | | // wq.ne(TjOrderDetail::getTjStatus, 0); |
| | | // wq.eq(TjOrderDetail::getProId,projectService.getHuaYanProId()); |
| | | // List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.list(wq); |
| | | List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.addHuaYanAndCgTable(tjNumber); |
| | | //遍历体检记录 将项目的具体信息 |
| | | //遍历客户所选的项目(包含子项父项) |
| | | // for (TjOrderDetail tjOrderDetail : tjOrderDetails) { |
| | | // TjProject tjProject = projectService.getById(tjOrderDetail.getProId()); |
| | | // if (null != tjProject) { |
| | | // tjOrderDetail.setProject(tjProject); |
| | | // } |
| | | // } |
| | | |
| | | // LambdaQueryWrapper<TjCustomer> wq22 = new LambdaQueryWrapper<>(); |
| | | // wq22.eq(TjCustomer::getCusId, one.getUserId()); |
| | | // TjCustomer customer = tjCustomerService.getOne(wq22); |
| | | // LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>(); |
| | | // wqq.eq(TjOrderRemark::getTjNumber, tjNumber); |
| | | // wqq.eq(TjOrderRemark::getDeptId,"241"); |
| | | // List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq); |
| | | List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.addHuaYanAndCgTable(tjNumber); |
| | | |
| | | List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.addHuaYanAndCgTable(tjNumber); |
| | | for (TjOrderRemark tjOrderRemark : tjOrderRemarks) { |
| | | printReport.put(tjOrderRemark, null); |
| | |
| | | #xiaochengxu 泾川县部署小程序环境使用 |
| | | spring: |
| | | profiles: |
| | | active: prod |
| | | active: dev |
| | |
| | | public AjaxResult handleServiceException(ServiceException e, HttpServletRequest request) { |
| | | log.error(e.getMessage(), e); |
| | | Integer code = e.getCode(); |
| | | return StringUtils.isNotNull(code) ? AjaxResult.error(code, e.getMessage()) : AjaxResult.error(e.getMessage()); |
| | | // return StringUtils.isNotNull(code) ? AjaxResult.error(code, e.getMessage()) : AjaxResult.error(e.getMessage()); |
| | | return AjaxResult.error("数据处理异常,请联系管理员!"); |
| | | } |
| | | |
| | | /** |
| | |
| | | public AjaxResult handleRuntimeException(RuntimeException e, HttpServletRequest request) { |
| | | String requestURI = request.getRequestURI(); |
| | | log.error("请求地址'{}',发生未知异常.", requestURI, e); |
| | | return AjaxResult.error(e.getMessage()); |
| | | return AjaxResult.error("数据处理异常,请联系管理员!"); |
| | | } |
| | | |
| | | /** |
| | |
| | | public AjaxResult handleException(Exception e, HttpServletRequest request) { |
| | | String requestURI = request.getRequestURI(); |
| | | log.error("请求地址'{}',发生系统异常.", requestURI, e); |
| | | return AjaxResult.error(e.getMessage()); |
| | | return AjaxResult.error("数据处理异常,请联系管理员!"); |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | @Select("SELECT * FROM ltkj_exam_jcbgd WHERE tmh=#{tmh} GROUP BY xmmc ") |
| | | List<LtkjExamJcbgd> getJianJcBaoGaoDanList(String tmh); |
| | | |
| | | @Select("SELECT * FROM ltkj_exam_jcbgd WHERE tjh=#{cardId}") |
| | | List<LtkjExamJcbgd> getJianJcBaoGaoDanByTjh(String cardId); |
| | | } |
| | |
| | | @Select("SELECT COUNT(zb.sqdh) sfjf FROM (\n" +
|
| | | "SELECT aa.sqdh,SUM(aa.fyhj) hj FROM (\n" +
|
| | | "SELECT DISTINCT a.sqdh, a.fyhj FROM ltkj_jianchajianyan_tree a WHERE a.card_id=#{cardId}) aa GROUP BY aa.sqdh) zb\n" +
|
| | | "LEFT JOIN ( SELECT a.adv_id ,SUM(a.catefee) hj FROM ltkj_querypay a WHERE a.ghxh=#{cardId} GROUP BY a.adv_id) cb ON\n" +
|
| | | "LEFT JOIN ( SELECT a.adv_id ,SUM(a.catefee) hj FROM ltkj_querypay a WHERE a.ghxh=#{cardId} GROUP BY" +
|
| | | " CASE WHEN a.adv_id IS NOT NULL AND LOCATE( '_', a.adv_id )> 0 THEN SUBSTRING_INDEX( a.adv_id, '_',- 1 ) ELSE a.adv_id END) cb ON\n" +
|
| | | "\t\tzb.sqdh=(case when cb.adv_id is not null and LOCATE('_',cb.adv_id)>0 then SUBSTRING_INDEX(cb.adv_id,'_',-1) else cb.adv_id end) \n" +
|
| | | "WHERE zb.hj <> cb.hj or cb.adv_id is null;")
|
| | | int getSfsfByCardId(String cardId);
|
| | |
| | | "\tLEFT JOIN tj_project pro ON re.pro_id = pro.pro_id\n" + |
| | | "\tLEFT JOIN sys_user us ON us.user_id = re.doctor_name \n" + |
| | | "WHERE\n" + |
| | | "\tre.type != 2 \n" +//and pro.need_report='Y' |
| | | "\tAND re.tj_number =#{tjNumber}") |
| | | "re.type != 2 \n" +//and pro.need_report='Y' |
| | | "AND re.tj_number =#{tjNumber}") |
| | | List<CsProVo> cSWebGetProByTjNumAndOrderId(String tjNumber); |
| | | |
| | | |
| | |
| | | @Select("SELECT * FROM tj_project WHERE pro_parent_id=#{proParentId} AND deleted='0' and pro_id in" + |
| | | " (SELECT a.pro_id FROM tb_transition a WHERE a.tj_num=#{tjNumber}) ") |
| | | List<TjProject> getTjProjectListByTbTransition(@Param("proParentId") String proParentId,@Param("tjNumber")String tjNumber); |
| | | |
| | | |
| | | @Select("SELECT b.tj_number FROM tj_order_remark b WHERE b.deleted=0 AND b.pro_id IN(\n" + |
| | | "\n" + |
| | | "SELECT a.pro_id FROM tj_project a WHERE a.deleted=0 AND a.pro_status=0 AND LOCATE(#{xmmc},a.pro_name) ) GROUP BY b.tj_number") |
| | | List<String> getTjNumLIstByXmmx(String xmmc); |
| | | } |
| | |
| | | |
| | | |
| | | List<TjProject> getTjProjectListByTbTransition(String proParentId, String tjNumber); |
| | | |
| | | //根据项目名模糊搜索体检号 |
| | | List<String> getTjNumLIstByXmmx(String xmmc); |
| | | } |
| | |
| | | List<String> getJianJcBaoGaoDan(String cardId); |
| | | |
| | | List<LtkjExamJcbgd> getJianJcBaoGaoDanList(String tmh); |
| | | |
| | | List<LtkjExamJcbgd> getJianJcBaoGaoDanByTjh(String cardId); |
| | | } |
| | |
| | | public List<LtkjExamJcbgd> getJianJcBaoGaoDanList(String tmh) { |
| | | return mapper.getJianJcBaoGaoDanList(tmh); |
| | | } |
| | | |
| | | @Override |
| | | public List<LtkjExamJcbgd> getJianJcBaoGaoDanByTjh(String cardId) { |
| | | return mapper.getJianJcBaoGaoDanByTjh(cardId); |
| | | } |
| | | } |
| | |
| | | return tjProjectMapper.getTjProjectListByTbTransition(proParentId,tjNumber); |
| | | } |
| | | |
| | | @Override |
| | | public List<String> getTjNumLIstByXmmx(String xmmc) { |
| | | return tjProjectMapper.getTjNumLIstByXmmx(xmmc); |
| | | } |
| | | |
| | | /** |
| | | * 递归列表 |
| | | */ |