ltkj-admin/src/main/java/com/ltkj/LtkjApplication.java
@@ -1,5 +1,6 @@ package com.ltkj; import cn.hutool.crypto.SecureUtil; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; @@ -32,5 +33,7 @@ " ██ ██ ██ ██ ██\n" + " ██ ██ ██ ██ ██ ██\n" + " ████████ ██ ██ ██ ██████\n"); //linux解决hutll权限报错的问题 SecureUtil.disableBouncyCastle(); } } ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
@@ -827,12 +827,13 @@ * @param customer */ private void notHuaYanData(String tjNumber, Map<TjOrderRemark, List<TjPdfVO>> printReport, TjOrder one, TjCustomer customer) { LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>(); wqq.eq(TjOrderRemark::getTjNumber, tjNumber); wqq.ne(TjOrderRemark::getDeptId, "241"); wqq.in(TjOrderRemark::getDeptId, "269", "270", "253", "254", "255", "257"); wqq.notIn(TjOrderRemark::getProId, projectService.getNneedReprotProId()); List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq); // LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>(); // wqq.eq(TjOrderRemark::getTjNumber, tjNumber); // wqq.ne(TjOrderRemark::getDeptId, "241"); // wqq.in(TjOrderRemark::getDeptId, "269", "270", "253", "254", "255", "257"); // wqq.notIn(TjOrderRemark::getProId, projectService.getNneedReprotProId()); // List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq); List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.notHuaYanData(tjNumber); for (TjOrderRemark tjOrderRemark : tjOrderRemarks) { printReport.put(tjOrderRemark, null); } @@ -1064,7 +1065,7 @@ table1.setSpacingAfter(10f); Font titleFont = PdfUtils.setFont(12); PdfPCell mergedCell = new PdfPCell(new Phrase("泾 川 县 人 民 医 院", titleFont)); PdfPCell mergedCell = new PdfPCell(new Phrase("陕健医澄合矿务局中心医院", titleFont)); mergedCell.setBorder(Rectangle.NO_BORDER); mergedCell.setColspan(10); mergedCell.setHorizontalAlignment(Element.ALIGN_CENTER); ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysConfigController.java
@@ -8,10 +8,13 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.extra.pinyin.PinyinUtil; import com.ltkj.common.core.domain.entity.SysMenu; import com.ltkj.common.utils.SecurityUtils; import com.ltkj.hosp.domain.DictHosp; import com.ltkj.hosp.domain.TjProject; import com.ltkj.hosp.service.IDictHospService; import com.ltkj.hosp.service.ITjProjectService; import com.ltkj.system.service.ISysMenuService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -47,6 +50,8 @@ private IDictHospService dictHospService; @Value ("${token.secret_key}") private String secret; @Autowired private ITjProjectService projectService; /** * 获取参数配置列表 @@ -159,7 +164,8 @@ } @GetMapping ("/zx")//执行 @GetMapping ("/zxsq")//执行 @ApiOperation(value = "zxsq") public AjaxResult zx(@RequestParam int day) { try { List<DictHosp> list = dictHospService.list(); @@ -179,6 +185,23 @@ } @GetMapping ("/gxxmpym")//执行 @ApiOperation(value = "一键同步更新项目拼音码") public AjaxResult gxxmpym() { try { List<TjProject> list = projectService.list(); for (TjProject project : list) { project.setProEngName(PinyinUtil.getFirstLetter(project.getProName(),"")); projectService.updateById(project); } return AjaxResult.success(); } catch (Exception e) { e.printStackTrace(); } return AjaxResult.error(); } @GetMapping ("/tbhisproprice")//同步his项目单价信息 @PreAuthorize("@ss.hasPermi('system:config:tbhisproprice')") ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -138,6 +138,17 @@ } @GetMapping ("/ceshi") @ApiOperation (value = "测试调用lis视图数据接口") @RepeatSubmit // @Transactional public AjaxResult ceshi() { List<Map<String, Object>> ccXZxYyLisJgSt = testMapper.getCcXZxYyLisJgSt(); return AjaxResult.success(ccXZxYyLisJgSt); } @GetMapping ("/getCsList") @ApiOperation (value = "初审查询体检记录客户列表")//0待1已 @Transactional @@ -348,6 +359,7 @@ final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis"); final String sfkqdshitulianjie = configService.selectConfigByKey("sfkqdshitulianjie"); TjOrder order = orderService.getOrderByTjNum(tjNumber); if (null != order) { @@ -601,6 +613,9 @@ //同步检查项目给redis缓存现在不用了 // asyncService.updateCheckType(order.getTjNumber()); } // else if(null !=sfkqdshitulianjie && sfkqdshitulianjie.equals("Y")){ // List<Map<String,Object>> maps= testMapper.getCcXZxYyLisJgSt(); // } //化验 testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId()); //检查 @@ -618,6 +633,8 @@ } } /** * 同步sql server数据到本地数据库数据接口 */ ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -23,6 +23,7 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.crypto.symmetric.DES; import cn.hutool.extra.pinyin.PinyinUtil; @@ -43,10 +44,7 @@ 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.AgeResult; import com.ltkj.common.utils.DateUtils; import com.ltkj.common.utils.PDFDocumentUtil; import com.ltkj.common.utils.SecurityUtils; import com.ltkj.common.utils.*; import com.ltkj.framework.config.MatchUtils; import com.ltkj.framework.config.ThreadPoolConfig; import com.ltkj.framework.config.UserHoder; @@ -74,10 +72,7 @@ import com.ltkj.mall.service.IMallCheckLogService; import com.ltkj.mall.service.IMallOrderService; import com.ltkj.system.domain.TjDjdDyjl; import com.ltkj.system.service.ISysConfigService; import com.ltkj.system.service.ISysDeptService; import com.ltkj.system.service.ISysUserService; import com.ltkj.system.service.ITjDjdDyjlService; import com.ltkj.system.service.*; import com.ltkj.web.controller.his.*; import com.ltkj.web.controller.lis.LisApiMethod; import com.ltkj.web.controller.pacs.PacsApiMethodService; @@ -223,7 +218,14 @@ private ITjGroupingProService groupingProService; @Autowired private ITjDjdDyjlService djdDyjlService; @Autowired private IdUtils idUtils; @Autowired private LtkjJybbzdService jybbzdService; @Autowired private LisJyflhbService lisJyflhbService; @Autowired private ISysDictDataService sysDictDataService; //将方法返回值解析成json格式 public JSONObject getJSONObject(String builder) { String Response = JSONUtil.parseObj(builder).getStr("Response"); @@ -1008,7 +1010,9 @@ //生成体检号 String tjNumber = (SecurityUtils.getUsername() + new SimpleDateFormat("yyMMddHHmmss").format(new Date())); tjOrder.setTjNumber(tjNumber); BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount())); tjOrder.setDiscount(discount.toString()); if (tjOrderService.save(tjOrder)) { //保存收货地址 if ("2".equals(tjOrder.getGetType())) { @@ -1021,7 +1025,6 @@ Long cusNumber = tjCustomer.getCusNumber(); cusNumber += 1; tjCustomer.setCusNumber(cusNumber); BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount())); if ("1".equals(tjOrder.getTjType())) { if (null != tjReservation && tjReservation.getPayType() == 1) { @@ -1141,13 +1144,105 @@ if ("2".equals(tjOrder.getTjType())) { //asyncService.newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser,null); } // 查询 对接Lis、Pacs申请如果类型包含在配置内则使用对接lis、pacs if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) { // 这是上面个人方法引入数据 tjFlowingWater.setPayStasus(1L); newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); // AjaxResult ajaxResult = hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder, sysUser, result); // if (!ajaxResult.get("code").toString().equals("200")) return ajaxResult; tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser,null); } return AjaxResult.success(tjNumber); } TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return AjaxResult.error(); } public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) { if (null != detailList && detailList1) { Date date = new Date(); String format = DateUtil.format(date, "yyMMddHHmmssSSS"); for (TjOrderDetail detail : detailList) { TjSampling sampling = new TjSampling(); if (null == projectService.getById(detail.getProId())) continue; TjProject project = projectService.getById(detail.getProId()); Long proParentId = project.getProParentId(); String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType()); if (null != proParentId && proParentId == 0) { sampling.setJyxh(idUtils.generateLisID()); sampling.setSpecimenTypeCode(project.getSpecimenType()); sampling.setSpecimenType(dictLabel); sampling.setJyxmdm(project.getProId().toString()); } else { TjProject project1 = projectService.getById(proParentId); sampling.setJyxh(idUtils.generateLisID()); sampling.setSpecimenTypeCode(project1.getSpecimenType()); sampling.setSpecimenType(dictLabel); sampling.setJyxmdm(project.getProId().toString()); } sampling.setSamplingNumber(format); sampling.setTjNum(order.getTjNumber()); sampling.setCusId(String.valueOf(order.getUserId())); if (tjCustomerService.getById(String.valueOf(order.getUserId())) != null) { sampling.setCusName(tjCustomerService.getById(String.valueOf(order.getUserId())).getCusName()); } sampling.setApplicationTime(date); sampling.setTjTime(order.getCreateTime()); sampling.setProId(String.valueOf(detail.getProId())); sampling.setProName(projectService.getById(detail.getProId()).getProName()); sampling.setCreateBy(sysUser.getNickName()); sampling.setCreateTime(date); sampling.setUpdateBy(sysUser.getNickName()); sampling.setUpdateTime(date); sampling.setCreateId(String.valueOf(sysUser.getUserId())); sampling.setUpdateId(String.valueOf(sysUser.getUserId())); sampling.setJxbz(jxbz); samplingService.save(sampling); } } String config = configService.selectConfigByKey("sfkqdyhis"); if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){ AjaxResult ajaxResult = lisApiMethod.getJyFlHb(); if (ajaxResult.get("code").toString().equals("200")){ String str = ajaxResult.get("data").toString(); str = str.replace("=", ":"); JSONArray array = JSONUtil.parseArray(str); for (Object o : array) { JSONObject object = (JSONObject) o; LisJyflhb lisJyflhb = new LisJyflhb(); lisJyflhb.setHbhxm(object.getStr("hbhxm")); lisJyflhb.setFlmc(object.getStr("flmc")); lisJyflhb.setMc(object.getStr("mc")); lisJyflhb.setFlbm(object.getStr("flbm")); LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(LisJyflhb::getFlbm,lisJyflhb.getFlbm()); LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper); if (jyflhb == null) { lisJyflhb.setId(IdUtil.getSnowflake().nextId()); lisJyflhbService.save(lisJyflhb); }else { lisJyflhb.setId(jyflhb.getId()); lisJyflhbService.updateById(lisJyflhb); } } } } } @PostMapping("/addPlOrderAndDetail") @ApiOperation(value = "体检批量签到登记接口") ltkj-admin/src/main/resources/application-linux-prod.yml
@@ -189,13 +189,13 @@ # 体检报告模板和报告临时生成存储的文件夹路径 path: filePath: D:\Tjreport filePath: /ltkj/Tjreport # nginx图片服务器 reportServer: https://ltpeis.xaltjdkj.cn:5516/ # 体检套餐和轮播图存储路径 photoPath: D:\AppPhoto\uploadPath\ photoPath: /ltkj/uploadPath/ # nginx图片服务器 #photoServer: https://ltpeis.xaltjdkj.cn:5502/uploadPath/ photoServer: http://192.168.0.5:5502/uploadPath/ @@ -251,5 +251,5 @@ # username = root # password = Root_ltkj123 config: properties: /Users/chacca/开发相关/代码/ltkj_peis/ltkj-admin/src/main/resources/config-prod.properties path: /Users/chacca/开发相关/代码/ltkj_peis/ltkj-admin/src/main/resources properties: /ltkj/ltkjprojectconf/config.properties path: /ltkj/ltkjprojectconf ltkj-admin/src/main/resources/application.yml
@@ -2,6 +2,7 @@ #dev 公司 开发/部署使用 #prod 泾川县部署正式环境使用(小程序端也可使用) #test 泾川县部署测试环境使用 # linux-prod spring: profiles: active: dev ltkj-admin/src/main/resources/logback.xml
@@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 日志存放路径 --> <property name="log.path" value="logs"/> <property name="log.path" value="/ltkj/jar/logs"/> <!-- 日志输出格式 --> <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/> ltkj-framework/src/main/java/com/ltkj/framework/config/DruidConfig.java
@@ -182,9 +182,8 @@ Properties properties = new Properties(); // 这里是测试写法,具体的value可以通过请求参数传递过来 properties.setProperty("druid.enabled",props.getProperty("lisenabled")); properties.setProperty("druid.driverClassName","com.microsoft.sqlserver.jdbc.SQLServerDriver"); properties.setProperty("druid.url","jdbc:sqlserver://"+props.getProperty("lisip")+":"+props.getProperty("lisprot")+";DatabaseName="+props.getProperty("lisname")+ ";&characterEncoding=utf8"); properties.setProperty("druid.url","jdbc:mysql://"+props.getProperty("lisip")+":"+props.getProperty("lisprot")+"/"+props.getProperty("lisname")+"" + "?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8"); properties.setProperty("druid.username",props.getProperty("lisusername")); properties.setProperty("druid.password",props.getProperty("lispassword")); dataSource.restart(properties); ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java
@@ -109,8 +109,8 @@ .authorizeRequests() // 对于登录login 注册register 验证码captchaImage 允许匿名访问 .antMatchers("/login", "/register", "/captchaImage","/cus/**","/getCaptchaConfigKey","/report/jmreport/**", "/sqlserver/getdata/**","/api/His/**","/system/config/zx","/system/report/savePdf", "/system/dyjl/saveGjddyjl","/system/dyjl/saveBlGjddyjl").permitAll() "/sqlserver/getdata/**","/api/His/**","/system/config/zx","/system/config/gxxmpym","/system/report/savePdf", "/system/dyjl/saveGjddyjl","/system/dyjl/saveBlGjddyjl","/check/ceshi").permitAll() .antMatchers("/common/uploadImgExe","/common/listExeVal").permitAll() .antMatchers("/check/dataSynchronizationApi").permitAll() // 静态资源,可匿名访问 ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjOrder.java
@@ -439,6 +439,9 @@ @ApiModelProperty("预约号") private String reservationId; @ApiModelProperty(value = "折扣") private String discount; @TableField(exist = false) private Integer dycs; ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TestMapper.java
@@ -223,4 +223,10 @@ "order by examinationDate" + "</script>"}) List<Map<String ,Object>> getPacsJcList(@Param("name")String name,@Param("mzh")String mzh,@Param("start")String start,@Param("end")String end); @DataSource(value = DataSourceType.SLAVE_LIS) @Select("SELECT * FROM vi_his_patientresult LIMIT 10") List<Map<String, Object>> getCcXZxYyLisJgSt(); } ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderRemarkMapper.java
@@ -161,4 +161,12 @@ " AND (a.pro_name LIKE '%心电图%' OR a.pro_name LIKE '%妇查%' OR a.pro_name LIKE '%hpv%' OR a.pro_name LIKE '%tct%' OR a.pro_name LIKE '%妇科五联检%'\n" + " OR a.pro_name LIKE '%电子阴道镜检查%' OR a.pro_name LIKE '%C14%' OR a.pro_name LIKE '%心理检测%' OR a.pro_name LIKE '%肺功能检查%' OR a.pro_name LIKE '%静脉%');") boolean updateRemark(String tjNum); @Select("SELECT a.* FROM tj_order_remark a LEFT JOIN sys_dept b ON b.dept_id=a.dept_id LEFT JOIN tj_project c ON c.pro_id=a.pro_id\n" + "\n" + "WHERE a.deleted=0 AND b.org_type=3 AND c.need_report='Y' AND a.tj_number=#{tjnumber}") // AND c.need_report='Y' guo List<TjOrderRemark> notHuaYanData(String tjnumber); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderRemarkService.java
@@ -63,4 +63,7 @@ //修改指定项目(心电图等)状态 boolean updateRemark(String tjNum); List<TjOrderRemark> notHuaYanData(String tjnumber); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderRemarkServiceImpl.java
@@ -9,6 +9,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Collections; import java.util.List; /** @@ -112,4 +113,9 @@ return mapper.updateRemark(tjNum); } @Override public List<TjOrderRemark> notHuaYanData(String tjnumber) { return mapper.notHuaYanData(tjnumber); } }