From 0838f38c7e6275b5ff6160a02e2451607196b30c Mon Sep 17 00:00:00 2001 From: Godblessyou <824612544@qq.com> Date: Tue, 15 Apr 2025 17:05:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=962.0=E6=A0=87=E5=87=86?= =?UTF-8?q?=E7=89=88=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/emr/controller/FontController.java | 169 ++++++++++++++++-- .../bloodPurificationController.java | 9 - .../TemplateSearchController.java | 6 +- src/main/java/com/emr/vo/Msg.java | 2 +- .../com/emr/vo/commomSearch/CommomVo.java | 30 ++++ .../commomSearch/commomListqf.jsp | 51 +++++- .../commomSearch/showRecordIframeBlood.jsp | 1 - src/main/webapp/index.jsp | 1 - .../recordManage/commomSearch/commomListqf.js | 32 +++- src/main/webapp/static/pdfjs/Print.js | 1 - 10 files changed, 263 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/emr/controller/FontController.java b/src/main/java/com/emr/controller/FontController.java index 9ae5699..8d5fce1 100644 --- a/src/main/java/com/emr/controller/FontController.java +++ b/src/main/java/com/emr/controller/FontController.java @@ -2,7 +2,6 @@ package com.emr.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.alibaba.fastjson.JSONReader; import com.emr.dao.Archive_DetailMapper; import com.emr.dao.Archive_MasterMapper; import com.emr.dao.CommomMapper; @@ -12,9 +11,9 @@ import com.emr.dao.recordLock.Emr_LockMapper; import com.emr.dao.tScanAssort.T_Scan_AssortMapper; import com.emr.dto.PatInfoEmrTypeDto; import com.emr.entity.Power_User; -import com.emr.entity.ResultUtil; import com.emr.entity.Zd_Assort; import com.emr.entity.recordType.Emr_Type; +import com.emr.service.CommomService; import com.emr.service.FontService; import com.emr.service.Zd_AssortServiceImpl; import com.emr.service.batchExport.BatchExportService; @@ -30,8 +29,6 @@ import com.emr.vo.FontVo.*; import com.emr.vo.FontVo.ScanAssortVo; import com.emr.vo.commomSearch.CommomVo; import com.emr.vo.emrType.EmrTypeFeVo; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; import com.lowagie.text.Document; import com.lowagie.text.Image; import com.lowagie.text.Utilities; @@ -44,6 +41,8 @@ import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.subject.Subject; import org.apache.shiro.util.CollectionUtils; import org.json.JSONArray; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -58,9 +57,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.net.URL; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.Paths; import java.util.*; /** @@ -78,8 +74,24 @@ import java.util.*; @Controller @RequestMapping("font/") public class FontController { + + private static final Logger logger = LoggerFactory.getLogger(FontController.class); + @Value("${POWER_URLHEAD}") private String POWER_URLHEAD; + @Value("${EMR_RECORD_JSP}") + private String EMR_RECORD_JSP; + @Value("${STR_SPLIT}") + private String STR_SPLIT; + @Value("${POWER_JSP}") + private String POWER_JSP; + @Value("${WEBSOCKET_URLHEAD}") + private String WEBSOCKET_URLHEAD; + @Value("${export_pdf_hospital_info}") + private String hospitalName; + + @Autowired + private CommomService commomService; @Autowired private Emr_LockMapper lockMapper; @Autowired @@ -656,7 +668,7 @@ public class FontController { * @return String */ @RequestMapping(value = "commomListqf", method = RequestMethod.GET) - public ResultUtil commomListqf(Model model, HttpServletRequest request, + public String commomListqf(Model model, HttpServletRequest request, @RequestParam(value="hemodialysisId",required = false) String hemodialysisId, @RequestParam(value="admissId",required = false) String admissId, @RequestParam(value="outpatientNo",required = false) String outpatientNo) { @@ -666,10 +678,12 @@ public class FontController { String dataSource = request.getParameter("dataSource"); if(ObjectUtils.isEmpty(userName)){ - return ResultUtil.error("用户账号不能为空"); + model.addAttribute("msg", "用户账号不能为空"); + return "font/msg"; } if(ObjectUtils.isEmpty(dataSource)){ - return ResultUtil.error("数据源(dataSource)不能为空"); + model.addAttribute("msg", "数据源(dataSource)不能为空"); + return "font/msg"; } Map params = new HashMap<>(); Map userParams = new HashMap<>(); @@ -684,10 +698,12 @@ public class FontController { JSONObject userResultJson = JSONObject.parseObject(userResult); if(ObjectUtils.isEmpty(userResultJson)){ - return ResultUtil.error("用户账号不存在"); + model.addAttribute("msg", "用户账号不存在"); + return "font/msg"; } if(!"1".equals(userResultJson.getString("effective"))){ - return ResultUtil.error("用户账号已设置为无效"); + model.addAttribute("msg", "用户账号已设置为无效"); + return "font/msg"; } params.put("userName", userResultJson.getString("userName")); params.put("userPwd", userResultJson.getString("userPwd")); @@ -701,7 +717,7 @@ public class FontController { if(!ObjectUtils.isEmpty(token)){ this.getUserInfo(request, token, userName); //查询表格配置表的数据,根据配置动态显示表格字段 - /*Map tableConfigMap = commomMapper.queryTableConfig(dataSource); + Map tableConfigMap = commomMapper.queryTableConfig(dataSource); if(!ObjectUtils.isEmpty(tableConfigMap)){ //血透ID 广总血透接口的参数 model.addAttribute("hemodialysisId",hemodialysisId); @@ -723,11 +739,72 @@ public class FontController { request.getSession().setAttribute("defaultSortField",tableConfigMap.get("defaultSortField")); //获取默认排序字段方式 request.getSession().setAttribute("defaultSortFieldType",tableConfigMap.get("defaultSortFieldType")); - }*/ - return ResultUtil.ok(token); - //return "recordManage/commomSearch/commomListqf"; + } + + return "recordManage/commomSearch/commomListqf"; + }else{ + model.addAttribute("msg", "token获取失败"); + return "font/msg"; + } + }catch (Exception e) { + e.printStackTrace(); + } + + return null; + } + + /** + * 广总血透接口 + * + * @param // userName 登录账号 dataSource 数据源 + * @return String + */ + @RequestMapping(value = "simulateLogin", method = RequestMethod.GET) + public String simulateLogin(Model model, HttpServletRequest request) { + try { + String userName = request.getParameter("userName"); + String dataSource = request.getParameter("dataSource"); + + if(ObjectUtils.isEmpty(userName)){ + model.addAttribute("msg", "用户账号不能为空"); + return "font/msg"; + } + if(ObjectUtils.isEmpty(dataSource)){ + model.addAttribute("msg", "数据源(dataSource)不能为空"); + return "font/msg"; + } + Map params = new HashMap<>(); + Map userParams = new HashMap<>(); + + /** + * 通过userName查询用户账号密码 + */ + userParams.put("userName", userName); + String userResult = HttpClientUtils.doPost(POWER_URLHEAD + "/queryUserByUserNameAndPassword", userParams); + JSONObject userResultJson = JSONObject.parseObject(userResult); + if(ObjectUtils.isEmpty(userResultJson)){ + model.addAttribute("msg", "用户账号不存在"); + return "font/msg"; + } + if(!"1".equals(userResultJson.getString("effective"))){ + model.addAttribute("msg", "用户账号已设置为无效"); + return "font/msg"; + } + params.put("userName", userResultJson.getString("userName")); + params.put("userPwd", userResultJson.getString("userPwd")); + params.put("remark", "GZINTERFACE"); + + String result = HttpClientUtils.doPost(POWER_URLHEAD + "/login", params); + JSONObject jsonObject = JSONObject.parseObject(result); + + String token = jsonObject.getString("token"); + + if(!ObjectUtils.isEmpty(token)){ + this.emrlogin(token, model, userName, request); + return "redirect:/index.jsp"; }else{ - return ResultUtil.error("token获取失败"); + model.addAttribute("msg", "token获取失败"); + return "font/msg"; } }catch (Exception e) { e.printStackTrace(); @@ -736,6 +813,64 @@ public class FontController { return null; } + public String emrlogin(String token, Model model, String userName, HttpServletRequest request) { + if (StringUtils.isNoneBlank(token)) { + //创建连接工厂 + JAXDynamicClientFactory dcf = JAXDynamicClientFactory.newInstance(); + //创建客户端 + Object[] objects = new Object[0]; + Client client = null; + try { + client = dcf.createClient(POWER_URLHEAD + "/WebService/PowerWebService?wsdl"); + //动态调用getInfosByUserId方法 + objects = client.invoke("getInfosByUserId", token, "emr_record"); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if(null != client) { + client.destroy(); + } + } + + Power_User powerUser = JSON.parseObject(objects[0].toString(), Power_User.class); + if (powerUser.getMenus().contains("/pdfWaterSet/hospitalName")) { + model.addAttribute("hospitalName", hospitalName); + } + //返回用户为空跳转到登录权限系统界面 + if (null == powerUser) { + return "redirect:" + POWER_URLHEAD + "/login"; + } + powerUser.setUserName(userName); + //设置进session + request.getSession().setAttribute("CURRENT_USER", powerUser); + request.getSession().setAttribute("power_menus", powerUser.getMenus()); + + request.getSession().setAttribute("token", token); + + //验证shiro(有shiro才此操作) + UsernamePasswordToken userToken = new UsernamePasswordToken(userName, "123456"); + Subject subject = SecurityUtils.getSubject(); + subject.login(userToken); + model.addAttribute("POWER_URLHEAD", POWER_URLHEAD); + model.addAttribute("POWER_JSP", POWER_JSP); + //传递通知需要的数据 + model.addAttribute("WEBSOCKET_URLHEAD", WEBSOCKET_URLHEAD); + model.addAttribute("STR_SPLIT", STR_SPLIT); + //获取用户列表 + // 获得Http客户端 + if (StringUtils.isNotBlank(userName) && powerUser.getRoleId() == -100) { + try { + commomService.getUserList(userName, request); + } catch (Exception e) { + e.printStackTrace(); + } + } + } else { + return "redirect:" + POWER_URLHEAD + "/login"; + } + return "redirect:/index.jsp"; + } + public void getUserInfo(HttpServletRequest request, String token, String userName) { //创建连接工厂 JAXDynamicClientFactory dcf = JAXDynamicClientFactory.newInstance(); diff --git a/src/main/java/com/emr/controller/bloodPurification/bloodPurificationController.java b/src/main/java/com/emr/controller/bloodPurification/bloodPurificationController.java index 11e97dc..eedc329 100644 --- a/src/main/java/com/emr/controller/bloodPurification/bloodPurificationController.java +++ b/src/main/java/com/emr/controller/bloodPurification/bloodPurificationController.java @@ -9,13 +9,11 @@ import com.emr.entity.EmrBloodApplyInfo; import com.emr.entity.EmrBloodDialysisDoc; import com.emr.entity.Power_User; import com.emr.entity.ResultUtil; -import com.emr.entity.emrLog.Emr_Log; import com.emr.service.ImportExcel.ImportExcelEntity; import com.emr.service.ImportExcel.ImportExcelUtil; import com.emr.service.bloodPurification.BloodPurificationService; import com.emr.util.DateUtils; import com.emr.util.ExceptionPrintUtil; -import com.emr.util.ExportExcelUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.apache.commons.lang3.StringUtils; @@ -26,8 +24,6 @@ import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.ui.Model; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; @@ -38,12 +34,9 @@ import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.nio.charset.Charset; import java.text.DecimalFormat; -import java.text.SimpleDateFormat; -import java.time.LocalDate; import java.time.YearMonth; import java.time.format.DateTimeFormatter; import java.util.*; @@ -96,7 +89,6 @@ public class bloodPurificationController { //获取默认排序字段方式 request.getSession().setAttribute("defaultSortFieldType", tableConfigMap.get("defaultSortFieldType")); } - return "recordManage/bloodPurification/list"; } @@ -111,7 +103,6 @@ public class bloodPurificationController { @OptionalLog(module = "查看", methods = "血透净化文书报表") @RequestMapping("documentList") public String documentList(Model model, HttpServletRequest request) { - return "recordManage/bloodPurification/documentList"; } diff --git a/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java b/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java index d62f150..167412b 100644 --- a/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java +++ b/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java @@ -1701,8 +1701,8 @@ public class TemplateSearchController { List scanPathVos = scanPathMapper.selectScanFileByBloodPatientIds(patientIds, assortIds, flag); //批量添加打印记录 printOrDownLoadInfoService.SimpleInsert(scanPathVos, typeId, Short.valueOf("1")); -// //调用湘雅附二病历复印打印状态同步接口 -// this.MedicalPrintSyncPrintStatusAction(patientIds , printDate); + //调用湘雅附二病历复印打印状态同步接口 + //this.MedicalPrintSyncPrintStatusAction(patientIds , printDate); } } catch (Exception e) { ExceptionPrintUtil.printException(e); @@ -1739,7 +1739,7 @@ public class TemplateSearchController { objects = client.invoke("MedicalPrintSyncPrintStatusAction", xmlStr); //应答信息 String result = objects[0].toString(); - + System.out.println("返回的打印结果为:------------------------------------------------------------------" + result); } catch (Exception e) { e.printStackTrace(); } finally { diff --git a/src/main/java/com/emr/vo/Msg.java b/src/main/java/com/emr/vo/Msg.java index d5c8ebf..f2fcfc4 100644 --- a/src/main/java/com/emr/vo/Msg.java +++ b/src/main/java/com/emr/vo/Msg.java @@ -41,7 +41,7 @@ public class Msg { public static Msg successData(Object data){ Msg result=new Msg(); - result.setCode(200); + result.setCode(100); result.setMsg("success"); result.setData(data); return result; diff --git a/src/main/java/com/emr/vo/commomSearch/CommomVo.java b/src/main/java/com/emr/vo/commomSearch/CommomVo.java index 8cac0ab..508475f 100644 --- a/src/main/java/com/emr/vo/commomSearch/CommomVo.java +++ b/src/main/java/com/emr/vo/commomSearch/CommomVo.java @@ -461,6 +461,12 @@ public class CommomVo { private String subjectNo; + private String proContent; + + private String applicationNo; + + private String acceptanceNo; + private String hemodialysisId; private String hemodialysisDate; @@ -2161,4 +2167,28 @@ public class CommomVo { public void setPoisoningName(String poisoningName) { this.poisoningName = poisoningName; } + + public String getProContent() { + return proContent; + } + + public void setProContent(String proContent) { + this.proContent = proContent; + } + + public String getApplicationNo() { + return applicationNo; + } + + public void setApplicationNo(String applicationNo) { + this.applicationNo = applicationNo; + } + + public String getAcceptanceNo() { + return acceptanceNo; + } + + public void setAcceptanceNo(String acceptanceNo) { + this.acceptanceNo = acceptanceNo; + } } \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/recordManage/commomSearch/commomListqf.jsp b/src/main/webapp/WEB-INF/views/recordManage/commomSearch/commomListqf.jsp index e89d1cd..7e03c90 100644 --- a/src/main/webapp/WEB-INF/views/recordManage/commomSearch/commomListqf.jsp +++ b/src/main/webapp/WEB-INF/views/recordManage/commomSearch/commomListqf.jsp @@ -305,7 +305,7 @@
-
@@ -792,6 +792,39 @@ +
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+ +
+
+
@@ -1157,6 +1190,22 @@
+
+ +
+ +
+
+
+
+ +
+ +
+
+
diff --git a/src/main/webapp/WEB-INF/views/recordManage/commomSearch/showRecordIframeBlood.jsp b/src/main/webapp/WEB-INF/views/recordManage/commomSearch/showRecordIframeBlood.jsp index 0e3e55a..ae2c52b 100644 --- a/src/main/webapp/WEB-INF/views/recordManage/commomSearch/showRecordIframeBlood.jsp +++ b/src/main/webapp/WEB-INF/views/recordManage/commomSearch/showRecordIframeBlood.jsp @@ -268,7 +268,6 @@
-