From 79f9fbd9f999e26af3f0bca534d825eb687e092c Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期三, 25 十二月 2024 08:47:24 +0800 Subject: [PATCH] 20241225 --- ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java | 4 ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java | 153 ++++++-- ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjFlowingWater.java | 11 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjFlowingWaterHisServiceImpl.java | 22 + ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjCustomer.java | 3 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java | 4 ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java | 2 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java | 86 ++++ ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjFlowingWaterHisService.java | 13 ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml | 6 ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java | 11 ltkj-hosp/src/main/java/com/ltkj/hosp/service/HisSyncDictService.java | 13 ltkj-hosp/src/main/java/com/ltkj/hosp/domain/HisSyncDict.java | 55 +++ ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/HisSyncDictServiceImpl.java | 22 + ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjFlowingWaterHis.java | 40 ++ ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 272 ++++++++++++++ ltkj-hosp/src/main/resources/mapper/TjFlowingWaterHisMapper.xml | 17 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjFlowingWaterHisMapper.java | 18 + ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java | 37 + ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/HisSyncDictMapper.java | 18 + ltkj-framework/src/main/java/com/ltkj/framework/config/WebConfig.java | 3 ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsServiceController.java | 19 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 72 ++- ltkj-admin/src/main/java/com/ltkj/web/controller/callback/CallBackController.java | 111 ++++++ ltkj-hosp/src/main/resources/mapper/HisSyncDictMapper.xml | 22 + ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java | 2 ltkj-hosp/src/main/resources/mapper/hosp/TjFlowingWaterMapper.xml | 10 27 files changed, 946 insertions(+), 100 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/callback/CallBackController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/callback/CallBackController.java new file mode 100644 index 0000000..28422ce --- /dev/null +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/callback/CallBackController.java @@ -0,0 +1,111 @@ +package com.ltkj.web.controller.callback; + +import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ltkj.common.core.domain.AjaxResult; +import com.ltkj.hosp.domain.*; +import com.ltkj.hosp.mapper.TjSamplingMapper; +import com.ltkj.hosp.service.*; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +/** + * 瀵规帴鍏朵粬骞冲彴鎻愪緵鐨勫洖璋冩湇鍔� + */ +@Slf4j +@RestController +@RequestMapping("callBack") +public class CallBackController { + @Autowired + private HisSyncDictService hisSyncDictService; + @Autowired + private ITjFlowingWaterService tjFlowingWaterService; + @Autowired + private ITjOrderRemarkService remarkService; + @Autowired + private ITjOrderDetailService tjOrderDetailService; + @Autowired + private ITbTransitionService transitionService; + @Autowired + private TjSamplingMapper tjSamplingMapper; + @Autowired + private TjProBlService blService; + @Autowired + private ITjOrderService tjOrderService; + @Autowired + private ITjCustomerService tjCustomerService; + @Autowired + private ITjOrderService orderService; + + /** + * 鏀堕��璐瑰洖璋冩帴鍙� + * @param params + * @return + */ + @PostMapping("pushZhiFuMsg") + public AjaxResult pushZhiFuMsg(@RequestBody Map<String ,Object> params){ + log.info("鍥炶皟 ->{}", JSONUtil.toJsonStr(params)); + String type = params.get("type").toString(); + // type 1涓虹叅鏈哄尰闄紶鍙� + // feiYongId 璐圭敤Id + // yeWuLx 涓氬姟绫诲瀷锛�1-鏀惰垂锛�2-閫�璐�/浣滃簾 + if (type.equals("1")){ + String feiYongId = params.get("feiYongId").toString(); + String yeWuLx = params.get("yeWuLx").toString(); + // 鏀惰垂 + if (yeWuLx.equals("1")){ + LambdaQueryWrapper<TjFlowingWater> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjFlowingWater::getHisWaterId, feiYongId); + TjFlowingWater water = tjFlowingWaterService.getOne(wrapper); + water.setPayStasus(1L); + tjFlowingWaterService.updateById(water); + }else { + LambdaQueryWrapper<TjFlowingWater> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjFlowingWater::getHisTfWaterId, feiYongId).or().eq(TjFlowingWater::getHisWaterId, feiYongId); + TjFlowingWater water = tjFlowingWaterService.getOne(wrapper); + TjOrder order = orderService.getById(water.getOrderId()); + if (order != null){ + // 閫�璐� + String bldh = water.getJxbz(); + if (bldh != null){ + remarkService.deleteTjOrderDetailByjxbz(bldh); + tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh); + tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh); + transitionService.deleteTjOrderDetailByjxbz(bldh); + blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, order.getTjNumber()).eq(TjProBl::getBldh, bldh)); + tjSamplingMapper.deleteByTjNumAndCusIdAndJxbzo(order.getTjNumber(), order.getUserId(),bldh); + }else { + tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); + tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); + remarkService.deletedOrderRemarkByTjNum(order.getTjNumber()); + tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); + transitionService.deletedTbTransitionByTjNum(order.getTjNumber()); + + TjCustomer customer = tjCustomerService.getById(order.getUserId()); + customer.setCardId("0"); + tjCustomerService.updateById(customer); + tjSamplingMapper.deleteByTjNumAndCusId(order.getTjNumber(), order.getUserId()); + } + } + } + } + return AjaxResult.success(); + } + + @PostMapping("getZdList") + public AjaxResult getZdList(@RequestBody Map<String ,Object> params){ + String hosp = params.get("hosp").toString(); + LambdaQueryWrapper<HisSyncDict> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(HisSyncDict::getHospId,hosp); + List<HisSyncDict> list = hisSyncDictService.list(wrapper); + return AjaxResult.success(list); + } + +} diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java index 4897b53..5cf465f 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java @@ -30,6 +30,7 @@ import com.ltkj.system.service.ISysDictDataService; import com.ltkj.system.service.ISysUserService; import com.ltkj.web.config.pdfutils.PdfUtils; +import com.ltkj.web.controller.system.SysDeptController; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -109,6 +110,8 @@ private TjOrderRemarkMapper tjOrderRemarkMapper; @Autowired private TjOrderDetailMapper tjOrderDetailMapper; + @Autowired + private SysDeptController sysDeptController; private Integer pdfPage = 0; @@ -116,6 +119,7 @@ private static int DEFAULT_LITTLE_TITLE_FONT_SIZE = 11; private static int DEFAULT_TITLE_FONT_SIZE = 12; private static int DEFAULT_ZONGJIAN_FONT_SIZE = 15; + private static String HOSP_NAME; private List<Map<String, Object>> makePDFInfo(HashMap<String, Object> map, AjaxResult ajaxResult, String key) { List<Map<String, Object>> data = null; @@ -156,7 +160,8 @@ int pageSize = 0; try { pdfWriter = PdfWriter.getInstance(document1, byteArrayOutputStream1); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (true){ String sex = ""; if (customer.getCusSex() != null) { for (SysDictData userSex : sysUserSex) { @@ -166,7 +171,8 @@ } } if (StrUtil.isBlank(sex)) sex = "鏈煡"; - pdfWriter.setPageEvent(new FooterHeaderPageEvent("婢勫悎鐭垮姟灞�涓績鍖婚櫌",customer.getCusName(),tjOrder.getTjNumber(),sex,String.valueOf(DateUtil.ageOfNow(customer.getCusBrithday())),null)); +// pdfWriter.setPageEvent(new FooterHeaderPageEvent("婢勫悎鐭垮姟灞�涓績鍖婚櫌",customer.getCusName(),tjOrder.getTjNumber(),sex,String.valueOf(DateUtil.ageOfNow(customer.getCusBrithday())),null)); + pdfWriter.setPageEvent(new FooterHeaderPageEvent(dictHosp.getHospName(),customer.getCusName(),tjOrder.getTjNumber(),sex,String.valueOf(DateUtil.ageOfNow(customer.getCusBrithday())),null)); pageSize = pdfWriter.getPageNumber(); } } catch (DocumentException e) { @@ -176,7 +182,8 @@ document1.setMargins(70, 70, 40, 40); document1.open(); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (true){ // 缁勮浣撴妫�鏌ラ」鐩姤鍛� Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>(); notHuaYanData(tjOrder.getTjNumber(), printReport, tjOrder, customer); @@ -224,7 +231,8 @@ copy.addPage(page); } - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (!true){ List<ByteArrayOutputStream> jianchas = makeHisJianChaTable(tjOrder); // List<ByteArrayOutputStream> jianchas = makeCcgcHisJianChaTable(tjOrder); try { @@ -254,7 +262,8 @@ int pages = pdfReader.getNumberOfPages(); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); PdfStamper pdfStamper = new PdfStamper(pdfReader, outputStream); - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (!true){ PdfContentByte contentByte; BaseFont baseFont = PdfUtils.createBaseFont(null); for (int i = 2; i <= pages; i++) { @@ -866,6 +875,7 @@ String s2 = sysConfigService.selectConfigByKey("tjreport_font_size_second_page_title"); String s3 = sysConfigService.selectConfigByKey("tjreport_font_size_result_title"); String s4 = sysConfigService.selectConfigByKey("tjreport_font_size_zongjian"); +// String hospName = sysDeptController.getdangqiandengluyuanqu().get("msg").toString(); if (StrUtil.isNotBlank(s1) && Integer.parseInt(s1) > 10) DEFAULT_FONT_SIZE = Integer.parseInt(s1); else DEFAULT_FONT_SIZE = 10; if (StrUtil.isNotBlank(s2) && Integer.parseInt(s2) > 10) DEFAULT_LITTLE_TITLE_FONT_SIZE = Integer.parseInt(s2); @@ -876,6 +886,7 @@ else DEFAULT_ZONGJIAN_FONT_SIZE = 10; pdfPage = 0; DictHosp dictHosp = dictHospService.list().get(0); + HOSP_NAME = dictHosp.getHospName(); String color = sysConfigService.selectConfigByKey("report_title_color"); List<SysDictData> sysUserSex = sysDictDataService.list(new LambdaQueryWrapper<SysDictData>().eq(SysDictData::getDictType, "sys_user_sex")); // 妫�楠屾暟鎹� @@ -1831,7 +1842,8 @@ } } //鍒嗗壊绾� - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (!true) { LineSeparator objectName = new LineSeparator(); objectName.setOffset(-5); document1.add(objectName); @@ -1867,7 +1879,8 @@ Font titleFonts = PdfUtils.setFont(9); Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (true) { Font titleFont = PdfUtils.setFont(DEFAULT_TITLE_FONT_SIZE); titleFont.setStyle(Font.BOLD); PdfPCell cellTitle = new PdfPCell(PdfUtils.setParagraph(titleFont, titleName)); @@ -1891,7 +1904,8 @@ // PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")); // document1.add(table); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){ +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){ + if (true && !value.isEmpty()){ if (value.size()>1){ if (value.get(0).getPid().equals("1862852701533012001")){ Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); @@ -2011,7 +2025,8 @@ if (entry.getKey().getRemark() == null) { entry.getKey().setRemark(""); } - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (!true){ String remark = "澶囨敞锛�" + entry.getKey().getRemark(); if (entry.getKey().getRemark().length() > 50) { int j = 0; @@ -2037,7 +2052,8 @@ //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull zhuJianYiShi(document1, entry,orderRemark.getCreateTime(),dictHosp); //鍒嗗壊绾� - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (!true) { LineSeparator objectName = new LineSeparator(); document1.add(objectName); } @@ -2053,7 +2069,8 @@ Font titleFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (true) { if (StrUtil.isBlank(value.get(0).getProResult()) && (StrUtil.isBlank(value.get(0).getTs()) && StrUtil.isBlank(value.get(0).getSj()))){ continue; } @@ -2079,7 +2096,8 @@ // PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")); // document1.add(table); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){ +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){ + if (true && !value.isEmpty()){ if (value.size()>1){ if (value.get(0).getPid().equals("1862852701533012001")){ Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); @@ -2203,7 +2221,8 @@ if (entry.getKey().getRemark() == null) { entry.getKey().setRemark(""); } - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (!true){ String remark = "澶囨敞锛�" + entry.getKey().getRemark(); if (entry.getKey().getRemark().length() > 50) { int j = 0; @@ -2228,7 +2247,8 @@ } //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull zhuJianYiShi(document1, entry,orderRemark.getCreateTime(),dictHosp); - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (!true) { //鍒嗗壊绾� LineSeparator objectName = new LineSeparator(); document1.add(objectName); @@ -2245,13 +2265,15 @@ * @throws DocumentException */ private void zhuJianYiShi(Document document1, Map.Entry<TjOrderRemark, List<TjPdfVO>> entry,Date createTime,DictHosp dictHosp) throws DocumentException { - if ((null != entry.getKey().getDoctorName() && null != userService.getById(entry.getKey().getDoctorName())) || dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") ) { +// if ((null != entry.getKey().getDoctorName() && null != userService.getById(entry.getKey().getDoctorName())) || dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") ) { + if ((null != entry.getKey().getDoctorName() && null != userService.getById(entry.getKey().getDoctorName())) || true ) { //涓绘鍖诲笀 String key = sysConfigService.selectConfigByKey("is_report_pdf_use_ysqm"); SysUser sysUser = userService.getById(entry.getKey().getDoctorName()); String doctorNameDefault = "鏃�"; if (sysUser != null)doctorNameDefault = sysUser.getNickName(); - if (!entry.getValue().isEmpty() && StrUtil.isNotBlank(entry.getValue().get(0).getShys()) && dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ +// if (!entry.getValue().isEmpty() && StrUtil.isNotBlank(entry.getValue().get(0).getShys()) && dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (!entry.getValue().isEmpty() && StrUtil.isNotBlank(entry.getValue().get(0).getShys()) && true){ doctorNameDefault = entry.getValue().get(0).getShys(); } Font doctorFonts = PdfUtils.setFont(9); @@ -2450,7 +2472,8 @@ } //鎷兼帴閲嶅ぇ闃虫�х粨鏋� StringBuffer str = new StringBuffer(); - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (!true) { str.append("銆愰噸澶ч槼鎬ч」鐩�慭n"); LambdaQueryWrapper<TjBigPositive> bigPositiveLambdaQueryWrapper = new LambdaQueryWrapper<>(); bigPositiveLambdaQueryWrapper.eq(TjBigPositive::getTjNumber, tjNumber); @@ -2465,7 +2488,8 @@ } //鎷兼帴寮傚父椤圭洰 str.append("銆愬紓甯告儏鍐甸」鐩�慭n"); - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (!true) { if (list.size() > 0) { for (int i = 0; i < list.size(); i++) { if (list.get(i).getExceptionDesc() == 1) { @@ -2799,7 +2823,8 @@ private static void addJianYanTable(Document document, String titleName, String[] titles, float[] titlesWidth, ArrayList<List<String>> lists,DictHosp dictHosp,String colorStr) throws DocumentException { // 澶ч」鏍囬 Font titleFont = PdfUtils.setFont(DEFAULT_TITLE_FONT_SIZE); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (true) { titleFont.setSize(DEFAULT_TITLE_FONT_SIZE); titleFont.setStyle(Font.BOLD); } @@ -2811,7 +2836,8 @@ paragraph.setSpacingBefore(10f); // 璁剧疆娈佃惤涓嬬┖鐧� paragraph.setSpacingAfter(10f); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (true) { // 琛岄棿璺� paragraph.setLeading(7f); // 璁剧疆娈佃惤涓婄┖鐧� @@ -2857,7 +2883,8 @@ for (List<String> list : lists) { boolean isYc = false; textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (true){ if (list.contains("鈫�") || list.contains("鈫�")){ isYc = true; } @@ -2927,7 +2954,8 @@ table1.setSpacingAfter(10f); Font titleFont = PdfUtils.setFont(12); - PdfPCell mergedCell = new PdfPCell(new Phrase("闄曞仴鍖绘緞鍚堢熆鍔″眬涓績鍖婚櫌", titleFont)); +// PdfPCell mergedCell = new PdfPCell(new Phrase("闄曞仴鍖绘緞鍚堢熆鍔″眬涓績鍖婚櫌", titleFont)); + PdfPCell mergedCell = new PdfPCell(new Phrase(HOSP_NAME, titleFont)); mergedCell.setBorder(Rectangle.NO_BORDER); mergedCell.setColspan(10); mergedCell.setHorizontalAlignment(Element.ALIGN_CENTER); diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java index f4da486..fc7d4a7 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java @@ -27,10 +27,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.io.ByteArrayOutputStream; +import java.io.IOException; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; +import javax.xml.soap.*; /** * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃 @@ -239,6 +242,8 @@ * xml浼犻�� */ public boolean OrderAdd(TjCustomer customer,TjOrder tjOrder){ + String hospbm = configService.selectConfigByKey("common_api_service_hospbm"); + List<TbTransition> detailList = transitionService.getTbTransitionListByCusId(customer.getCusIdcard(), tjOrder.getCardId()); LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); @@ -247,51 +252,113 @@ HashMap<String, Object> root = new HashMap<>(); HashMap<String, Object> hashMap = new HashMap<>(); - HashMap<String, Object> patientInfo = new HashMap<>(); - patientInfo.put("PatientId",customer.getCusId()); - patientInfo.put("VisitNo",tjOrder.getTjNumber()); - patientInfo.put("PatType","P"); - patientInfo.put("PatientName",customer.getCusName()); - if (customer.getCusSex() == 0) patientInfo.put("PatientSex","M"); - else if (customer.getCusSex() == 1) patientInfo.put("PatientSex","F"); - else patientInfo.put("PatientSex","O"); - patientInfo.put("PatBirthday",new SimpleDateFormat("yyyy-MM-dd").format(customer.getCusBrithday())); - patientInfo.put("IdCard",customer.getCusIdcard()); - patientInfo.put("hospitalid","chkwyy"); + String xmlRequest = ""; -// String examItems = ""; - HashMap<String, Object> examItem = new HashMap<>(); - List<Map<String,Object>> list = new ArrayList<>(); - String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); - for (TjProject project : projects) { - HashMap<String, Object> examItems = new HashMap<>(); - // 鐢宠鍗曞彿瑙勫垯锛氫綋妫�鍙穇project.getProId()鍚庡洓浣� - examItems.put("HisID", tjOrder.getTjNumber() + String.valueOf(project.getProId()).substring(String.valueOf(project.getProId()).length() - 4)); - examItems.put("EmergencyFlag", "0"); - examItems.put("ExamItemID", project.getHisXmbm()); - examItems.put("ExamItemName", project.getHisXmmc()); - examItems.put("OrderDT", date); - SysDept dept = deptService.getById(project.getDeptId()); - examItems.put("Modality", dept.getModality()); - // TODO 鏀惰垂鏍囪瘑 1鏄敹璐� 鍜� 0鏈敹璐� - examItems.put("ChargeFlag",""); -// examItems += "<ExamItem>"+ -// XmlUtil.mapToXmlStr(examItem) -// .replace("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>","") -//// .replaceAll("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>","") -// .replace("<xml>","") -// .replace("</xml>","") -// +"</ExamItem>"; - list.add(examItems); + MessageFactory messageFactory = null; + try { + // 鍒涘缓SOAP娑堟伅 + messageFactory = MessageFactory.newInstance(); + SOAPMessage soapMessage = messageFactory.createMessage(); + // 鍒涘缓SOAP Envelope + SOAPPart soapPart = soapMessage.getSOAPPart(); + SOAPEnvelope envelope = soapPart.getEnvelope(); + envelope.addNamespaceDeclaration("xmlns", "http://tempuri.org/"); + + // 鍒涘缓SOAP Body + SOAPBody soapBody = envelope.getBody(); + SOAPElement rootElement = soapBody.addChildElement("OrderAdd", "xmlns"); + rootElement.addChildElement("dataSourceName").addTextNode("hisDataSource"); + + // PatientInfor 閮ㄥ垎 + SOAPElement patientInfor = rootElement.addChildElement("PatientInfor"); + if (customer.getCusSex() == 0) patientInfor.addChildElement("PatientSex").addTextNode("M"); + else if (customer.getCusSex() == 1) patientInfor.addChildElement("PatientSex").addTextNode("F"); + else patientInfor.addChildElement("PatientSex").addTextNode("O"); + patientInfor.addChildElement("PatBirthday").addTextNode(new SimpleDateFormat("yyyy-MM-dd").format(customer.getCusBrithday())); + patientInfor.addChildElement("VisitNo").addTextNode(tjOrder.getTjNumber()); + patientInfor.addChildElement("PatientId").addTextNode(String.valueOf(customer.getCusId())); + patientInfor.addChildElement("HospitalID").addTextNode("shanxiqinxamjyy"); + patientInfor.addChildElement("IdCard").addTextNode(customer.getCusIdcard()); + patientInfor.addChildElement("PatientName").addTextNode(customer.getCusName()); + patientInfor.addChildElement("PatType").addTextNode("P"); + + // ExamItemList 閮ㄥ垎 + SOAPElement examItemList = rootElement.addChildElement("ExamItemList"); + + String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + for (TjProject project : projects) { + SOAPElement examItem = examItemList.addChildElement("ExamItem"); + examItem.addChildElement("HisID").addTextNode(tjOrder.getTjNumber() + String.valueOf(project.getProId()).substring(String.valueOf(project.getProId()).length() - 4)); + examItem.addChildElement("EmergencyFlag").addTextNode("0"); + examItem.addChildElement("ExamItemID").addTextNode(project.getHisXmbm()); + examItem.addChildElement("ExamItemName").addTextNode(project.getHisXmmc()); + examItem.addChildElement("OrderDT").addTextNode(date); + SysDept dept = deptService.getById(project.getDeptId()); + examItem.addChildElement("Modality").addTextNode(dept.getModality()); + examItem.addChildElement("ChargeFlag").addTextNode("1"); + } + + // 淇濆瓨SOAP娑堟伅 + soapMessage.saveChanges(); + + // 鎵撳嵃鐢熸垚鐨凷OAP璇锋眰 + System.out.println("鐢熸垚鐨凷OAP璇锋眰鍐呭锛�"); + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + soapMessage.writeTo(byteArrayOutputStream); + xmlRequest = byteArrayOutputStream.toString("UTF-8"); + } catch (SOAPException | IOException e) { + log.error("SOAP寮傚父 ->{}",String.valueOf(e)); } - examItem.put("ExamItem",list); - hashMap.put("PatientInfor",patientInfo); - hashMap.put("ExamItemList",examItem); - root.put("Root",hashMap); - String result = HttpRequest.post("http://10.100.100.222:8000/WebInterfaceService.asmx") - .body(XmlUtil.mapToXmlStr(root)).contentType("application/xml;charset:utf-8;").execute().body(); - String s = XmlUtil.mapToXmlStr(root); - log.info("璋冪敤pacs浼犻�掑弬鏁扮殑鍊间负: "+s); + + +// HashMap<String, Object> patientInfo = new HashMap<>(); +// patientInfo.put("PatientId",customer.getCusId()); +// patientInfo.put("VisitNo",tjOrder.getTjNumber()); +// patientInfo.put("PatType","P"); +// patientInfo.put("PatientName",customer.getCusName()); +// if (customer.getCusSex() == 0) patientInfo.put("PatientSex","M"); +// else if (customer.getCusSex() == 1) patientInfo.put("PatientSex","F"); +// else patientInfo.put("PatientSex","O"); +// patientInfo.put("PatBirthday",new SimpleDateFormat("yyyy-MM-dd").format(customer.getCusBrithday())); +// patientInfo.put("IdCard",customer.getCusIdcard()); +// patientInfo.put("hospitalid","chkwyy"); +// patientInfo.put("HospitalID",hospbm); +// +// HashMap<String, Object> examItemList = new HashMap<>(); +// List<Map<String, Object>> examItemsList = new ArrayList<>(); + String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); +// +// for (TjProject project : projects) { +// HashMap<String, Object> examItem = new HashMap<>(); +// // 鐢宠鍗曞彿瑙勫垯锛氫綋妫�鍙穇project.getProId()鍚庡洓浣� +// examItem.put("HisID", tjOrder.getTjNumber() + String.valueOf(project.getProId()).substring(String.valueOf(project.getProId()).length() - 4)); +// examItem.put("EmergencyFlag", "0"); +// examItem.put("ExamItemID", project.getHisXmbm()); +// examItem.put("ExamItemName", project.getHisXmmc()); +// examItem.put("OrderDT", date); +// +// SysDept dept = deptService.getById(project.getDeptId()); +// examItem.put("Modality", dept.getModality()); +// // 鏀惰垂鏍囪瘑锛�1 鏄敹璐癸紝0 鏈敹璐� +// examItem.put("ChargeFlag", "1"); +// +// examItemsList.add(examItem); // 灏嗘瘡涓狤xamItem娣诲姞鍒伴泦鍚� +// } +// +// // 鏋勯�犳渶缁堢殑ExamItemList +// examItemList.put("ExamItem", examItemsList); +// hashMap.put("ExamItemList", examItemList); +// +// hashMap.put("PatientInfor", patientInfo); +// +// // 灏嗘暟鎹皝瑁呭埌鏍硅妭鐐� +// root.put("Root", hashMap); +// +// // 浣跨敤Hutool灏哅ap杞崲涓篨ML瀛楃涓� +// String xmlRequest = XmlUtil.mapToXmlStr(root); + + String result = "1"; + log.info("璋冪敤pacs浼犻�掑弬鏁扮殑鍊间负: "+xmlRequest); Map<String, Object> map = XmlUtil.xmlToMap(result); if (map.get("Code").toString().equals("1")){ for (TjProject project : projects) { diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsServiceController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsServiceController.java index b765b84..f004e04 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsServiceController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsServiceController.java @@ -17,10 +17,7 @@ import com.sun.org.apache.xpath.internal.operations.Bool; import jodd.util.StringUtil; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.security.PrivateKey; import java.text.SimpleDateFormat; @@ -58,6 +55,8 @@ private LtkjExamJcsqdService ltkjExamJcsqdService; @Autowired private LtkjExamJcbgdService ltkjExamJcbgdService; + @Autowired + private PacsApiMethodService pacsApiMethodService; // 浣撴寮�妫�鏌ョ敵璇峰崟璋冪敤姝ゆ帴鍙f帹閫佺粰pacs鏈嶅姟 public boolean OrderAdd(String tjNumber) @@ -232,7 +231,7 @@ return XmlUtil.mapToXmlStr(hashMap); } - //@PostMapping("QueryOrder") +// @PostMapping("QueryOrder") private String queryOrder(@RequestBody String json){ Map<String, Object> map = XmlUtil.xmlToMap(json); JSONObject parseObj = JSONUtil.parseObj(map); @@ -380,4 +379,14 @@ return XmlUtil.mapToXmlStr(hashMap) .replaceAll("<","<").replaceAll(">",">"); } + + @GetMapping("test") + public String test(){ + TjCustomer tjCustomer = customerService.getById(1870373229901938690L); + LambdaQueryWrapper<TjOrder> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjOrder::getUserId,tjCustomer.getCusId()); + TjOrder order = tjOrderService.getOne(wrapper); + pacsApiMethodService.OrderAdd(tjCustomer,order); + return "1111"; + } } diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java index a981fd1..a2de790 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java @@ -581,11 +581,9 @@ @Override // @Async("async") // @Transactional - public Boolean iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser) { + public Boolean iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser,String jxbz) { Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); - - String jxbz = DateUtil.format(dates, "yyyyMMddHHmmss")+order.getOrderId(); tjFlowingWater.setJxbz(jxbz); tjFlowingWaterService.updateById(tjFlowingWater); diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java index d9ca10e..a0e86ec 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java @@ -31,6 +31,7 @@ import com.ltkj.system.domain.SysUserPost; import com.ltkj.system.service.*; import com.ltkj.web.controller.his.HisApiGetMethodService; +import com.ltkj.web.wxUtils.HttpClientUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -1469,6 +1470,16 @@ return AjaxResult.error("鏈煡璇㈠埌缂磋垂璁板綍"); } } + String s = configService.selectConfigByKey("is_request_common_his_api"); + if (null != s && s.equals("Y")) { + LambdaQueryWrapper<TjFlowingWater> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(TjFlowingWater::getOrderId,tjOrder.getOrderId()); + wrapper1.eq(TjFlowingWater::getPayStasus,0L); + List<TjFlowingWater> list = tjFlowingWaterService.list(wrapper1); + if (!list.isEmpty()){ + return AjaxResult.error("瀛樺湪鏈即璐归」鐩�"); + } + } } }else { log.error("璺嘲绉戞妧--- "+DateUtil.date()+" 鏈鎺is鎺ュ彛 "+" 浣撴鍙� "+tjOrder.getTjNumber()); diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java index 181d9c0..47c114f 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java @@ -31,6 +31,7 @@ import com.ltkj.web.controller.his.HisApiGetMethodService; import com.ltkj.web.controller.his.HisApiMethod; import com.ltkj.web.controller.his.HisApiMethodService; +import com.ltkj.web.wxUtils.HttpClientUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -44,10 +45,7 @@ import com.ltkj.common.utils.poi.ExcelUtil; import com.ltkj.common.core.page.TableDataInfo; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @@ -491,8 +489,35 @@ AjaxResult tjCustomer1 = suijieHisXinXi(tjCustomer, date); if (tjCustomer1 != null) return tjCustomer1; } else { - if (tjCustomerService.save(tjCustomer)) { - return AjaxResult.success(tjCustomer); + String s = sysConfigService.selectConfigByKey("is_request_common_his_api"); + if (null != s && s.equals("Y")){ + String apiUrl = sysConfigService.selectConfigByKey("common_api_url"); + String hospbm = sysConfigService.selectConfigByKey("common_api_service_hospbm"); + HashMap<String, Object> map = new HashMap<>(); + map.put("cardId",""); + map.put("cusName",tjCustomer.getCusName()); + map.put("cusSex",tjCustomer.getCusSex()); + map.put("cusIdCard",tjCustomer.getCusIdcard()); + map.put("compId",tjCustomer.getCompId()); + map.put("cusBrithday",tjCustomer.getCusBrithday() != null ? DateUtil.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd") : ""); + map.put("cusAddr",tjCustomer.getCusAddr()); + map.put("cusPhone",tjCustomer.getCusPhone()); + map.put("compName",tjCustomer.getCompName()); + String post = HttpClientUtils.sendPost(apiUrl+"/api/his/"+hospbm+"/creat", map); + JSONObject jsonObject = JSONUtil.parseObj(post); + if (jsonObject.getStr("code").equals("200")){ + JSONObject data = jsonObject.getJSONObject("data"); + tjCustomer.setPationId(data.getStr("pationId")); + tjCustomer.setCardId(data.getStr("cardId")); + tjCustomer.setHisJzkh(data.getStr("cardId")); + if (tjCustomerService.save(tjCustomer)) { + return AjaxResult.success(tjCustomer); + } + }else return AjaxResult.error(); + }else { + if (tjCustomerService.save(tjCustomer)) { + return AjaxResult.success(tjCustomer); + } } } return AjaxResult.error(); diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java index 23495c5..3065dac 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java @@ -8,8 +8,12 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.extra.pinyin.PinyinUtil; +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.ltkj.common.annotation.RepeatSubmit; +import com.ltkj.common.core.domain.entity.SysDept; import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.utils.SecurityUtils; import com.ltkj.framework.config.MatchUtils; @@ -18,10 +22,14 @@ import com.ltkj.hosp.vodomain.TjCollectFeesVo; import com.ltkj.hosp.vodomain.TjRefundProInfoVo; import com.ltkj.hosp.vodomain.TjRefundVo; +import com.ltkj.system.service.ISysConfigService; +import com.ltkj.system.service.ISysDeptService; import com.ltkj.system.service.ISysUserService; +import com.ltkj.web.wxUtils.HttpClientUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; @@ -73,6 +81,12 @@ private IJimuOnlineReportService reportService; @Resource private ITjPackageProjectService tjPackageProjectService; + @Autowired + private ISysConfigService configService; + @Autowired + private ISysDeptService sysDeptService; + @Autowired + private TjFlowingWaterHisService tjFlowingWaterHisService; /** * 鏌ヨ璇ヤ綋妫�鍙峰搴旂殑璁㈠崟娴佹按鍒楄〃 @@ -218,12 +232,82 @@ tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(customer.getCusName(), "").toUpperCase() +SecurityUtils.getUsername() + DateUtil.format(new Date(), "yyMMddHHmmssSSS")); tjFlowingWater.setIsAddition("Y"); if (tjFlowingWaterService.save(tjFlowingWater)) { + + Date dates = new Date(); + String jxbz = DateUtil.format(dates, "yyyyMMddHHmmss")+order.getOrderId(); //寮傛鍗曢」鏀惰垂鏄庣粏 - Boolean b = asyncService.iundividualCharges(tjFlowingWater, order, customer, sysUser); + Boolean b = asyncService.iundividualCharges(tjFlowingWater, order, customer, sysUser,jxbz); if (!b){ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return AjaxResult.error(); } + + String s = configService.selectConfigByKey("is_request_common_his_api"); + if (null != s && s.equals("Y") && order.getTjType().equals("2")) { + String apiUrl = configService.selectConfigByKey("common_api_url"); + String hospbm = configService.selectConfigByKey("common_api_service_hospbm"); + HashMap<String, Object> map = new HashMap<>(); + map.put("pationId",customer.getPationId()); + map.put("cardId",customer.getHisJzkh()); + map.put("tjNum",tjFlowingWater.getTjSerialNumber()); + map.put("kaiDanKs","7805"); + // 鏀惰垂鏍囧織 1寰呭敭璐� 2寰呴��璐� + map.put("shouTuiStatus","1"); + + JSONArray array = JSONUtil.createArray(); + LambdaQueryWrapper<TbTransition> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TbTransition::getTjNum,order.getTjNumber()); + wrapper.eq(TbTransition::getCusId,customer.getCusIdcard()); + wrapper.eq(TbTransition::getCardId,customer.getCardId()); + wrapper.eq(TbTransition::getJxbz,jxbz); + wrapper.isNotNull(TbTransition::getOrdPrice); + wrapper.gt(TbTransition::getOrdPrice,0); + + List<TbTransition> list = transitionService.list(wrapper); + for (TbTransition transition : list) { + LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(TjProject::getProId,transition.getProId()); + TjProject project = projectService.getOne(wrapper1); + + LambdaQueryWrapper<SysDept> wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.eq(SysDept::getDeptId,project.getDeptId()); + SysDept dept = sysDeptService.getOne(wrapper2); + + JSONObject obj = JSONUtil.createObj(); + BigDecimal danjia = transition.getOrdPrice(); + Integer sl = project.getSl(); + BigDecimal allPrice = danjia.multiply(new BigDecimal(sl)); + obj.putOpt("danJia",danjia); + obj.putOpt("jieSuanJe",allPrice); + obj.putOpt("shuliang",sl); + obj.putOpt("zhiXingKs",dept.getDeptId()); + obj.putOpt("zhiXingKsMc",dept.getDeptName()); + obj.putOpt("shouFeiXmId",project.getHisXmbm()); + obj.putOpt("shouFeiXmMc",project.getHisXmmc()); + +// obj.putOpt("zhiXingKs","7805"); +// obj.putOpt("zhiXingKsMc","浣撴绉�"); +// obj.putOpt("shouFeiXmId","4735346"); +// obj.putOpt("shouFeiXmMc","浣撴璐�"); + array.add(obj); + } + map.put("feiYongInfoList",array); + + String post = HttpClientUtils.sendPost(apiUrl + "/api/his/"+hospbm+"/creatCostInfo", map); + JSONObject object = JSONUtil.parseObj(post); + if (object.getInt("code") == 200) { + JSONObject data = object.getJSONObject("data"); + tjFlowingWater.setHisWaterId(data.getStr("feiYongId")); + JSONArray mxList = data.getJSONArray("mxList"); + if (mxList != null && mxList.size() > 0) { + List<TjFlowingWaterHis> his = mxList.toList(TjFlowingWaterHis.class); + tjFlowingWaterHisService.saveBatch(his); + } + tjFlowingWaterService.updateById(tjFlowingWater); + }else { + return AjaxResult.error(); + } + } // if(!b){ // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); // } diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java index f875f80..e237f9c 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java @@ -78,6 +78,7 @@ import com.ltkj.web.controller.lis.LisApiMethod; import com.ltkj.web.controller.pacs.PacsApiMethodService; import com.ltkj.web.controller.service.TjSysAsyncServiceImpl; +import com.ltkj.web.wxUtils.HttpClientUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -228,6 +229,8 @@ private LisJyflhbService lisJyflhbService; @Autowired private ISysDictDataService sysDictDataService; + @Autowired + private TjFlowingWaterHisService tjFlowingWaterHisService; //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡 public JSONObject getJSONObject(String builder) { @@ -1229,6 +1232,74 @@ newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); + + + String s = configService.selectConfigByKey("is_request_common_his_api"); + if (null != s && s.equals("Y")) { + String apiUrl = configService.selectConfigByKey("common_api_url"); + String hospbm = configService.selectConfigByKey("common_api_service_hospbm"); + HashMap<String, Object> map = new HashMap<>(); + map.put("pationId",tjCustomer.getPationId()); + map.put("cardId",tjCustomer.getHisJzkh()); + map.put("tjNum",tjFlowingWater.getTjSerialNumber()); + map.put("kaiDanKs","7805"); + // 鏀惰垂鏍囧織 1寰呭敭璐� 2寰呴��璐� + map.put("shouTuiStatus","1"); + + JSONArray array = JSONUtil.createArray(); + LambdaQueryWrapper<TbTransition> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TbTransition::getTjNum,tjOrder.getTjNumber()); + wrapper.eq(TbTransition::getCusId,tjCustomer.getCusIdcard()); + wrapper.eq(TbTransition::getCardId,tjCustomer.getCardId()); + wrapper.isNotNull(TbTransition::getOrdPrice); + wrapper.gt(TbTransition::getOrdPrice,0); + + List<TbTransition> list = tbTransitionService.list(wrapper); + for (TbTransition transition : list) { + LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(TjProject::getProId,transition.getProId()); + TjProject project = projectService.getOne(wrapper1); + + LambdaQueryWrapper<SysDept> wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.eq(SysDept::getDeptId,project.getDeptId()); + SysDept dept = sysDeptService.getOne(wrapper2); + + JSONObject obj = JSONUtil.createObj(); + Integer sl = project.getSl(); + BigDecimal danjia = transition.getOrdPrice(); + BigDecimal allPrice = danjia.multiply(new BigDecimal(sl)); + obj.putOpt("danJia",danjia); + obj.putOpt("jieSuanJe",allPrice); + obj.putOpt("shuliang",sl); + obj.putOpt("zhiXingKs",dept.getDeptId()); + obj.putOpt("zhiXingKsMc",dept.getDeptName()); + obj.putOpt("shouFeiXmId",project.getHisXmbm()); + obj.putOpt("shouFeiXmMc",project.getHisXmmc()); + +// obj.putOpt("zhiXingKs","7805"); +// obj.putOpt("zhiXingKsMc","浣撴绉�"); +// obj.putOpt("shouFeiXmId","4735346"); +// obj.putOpt("shouFeiXmMc","浣撴璐�"); + array.add(obj); + } + map.put("feiYongInfoList",array); + + String post = HttpClientUtils.sendPost(apiUrl + "/api/his/"+hospbm+"/creatCostInfo", map); + JSONObject object = JSONUtil.parseObj(post); + if (object.getInt("code") == 200) { + JSONObject data = object.getJSONObject("data"); + tjFlowingWater.setHisWaterId(data.getStr("feiYongId")); + JSONArray mxList = data.getJSONArray("mxList"); + if (mxList != null && mxList.size() > 0) { + List<TjFlowingWaterHis> his = mxList.toList(TjFlowingWaterHis.class); + tjFlowingWaterHisService.saveBatch(his); + } + tjFlowingWaterService.updateById(tjFlowingWater); + }else { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); + } + } } // 鏌ヨ 瀵规帴Lis銆丳acs鐢宠濡傛灉绫诲瀷鍖呭惈鍦ㄩ厤缃唴鍒欎娇鐢ㄥ鎺is銆乸acs if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) { @@ -2845,17 +2916,49 @@ // return AjaxResult.error("璇ョ敤鎴峰凡鏀惰垂涓嶅彲鎾ら攢绛惧埌!"); // } if (null != order.getFinishTime()) return AjaxResult.error("璇ヤ汉鍛樺凡绛剧,涓嶅彲鎾ら攢!!!"); - tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); - tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); - remarkService.deletedOrderRemarkByTjNum(tjNum); - tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); - transitionService.deletedTbTransitionByTjNum(tjNum); - TjCustomer customer = tjCustomerService.getById(order.getUserId()); - customer.setCardId("0"); - tjCustomerService.updateById(customer); + String s = configService.selectConfigByKey("is_request_common_his_api"); + if (null != s && s.equals("Y") && "2".equals(order.getTjType())){ + String apiUrl = configService.selectConfigByKey("common_api_url"); + String hospbm = configService.selectConfigByKey("common_api_service_hospbm"); + + ArrayList<TjFlowingWater> weizhifu = new ArrayList<>(); + ArrayList<TjFlowingWater> yizhifu = new ArrayList<>(); + LambdaQueryWrapper<TjFlowingWater> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(TjFlowingWater::getOrderId, order.getOrderId()); + List<TjFlowingWater> list = tjFlowingWaterService.list(wrapper1); + LambdaQueryWrapper<TjCustomer> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjCustomer::getCusId,order.getUserId()); + TjCustomer tjCustomer = tjCustomerService.getOne(wrapper); + + for (TjFlowingWater water : list) { + if (water.getPayStasus() == 0L){ + weizhifu.add(water); + }else { + yizhifu.add(water); + } + } + + AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order,true,tjNum); + if (error != null && !error.get("code").toString().equals("200")) return error; + + AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm,false,tjNum); + if (error1 != null && !error.get("code").toString().equals("200")) return error1; + }else { + tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); + tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); + remarkService.deletedOrderRemarkByTjNum(tjNum); + tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); + transitionService.deletedTbTransitionByTjNum(tjNum); + + TjCustomer customer = tjCustomerService.getById(order.getUserId()); + customer.setCardId("0"); + tjCustomerService.updateById(customer); + + tjSamplingMapper.deleteByTjNumAndCusId(tjNum, order.getUserId()); + } + String configByKey = configService.selectConfigByKey("sfkqdyhis"); - tjSamplingMapper.deleteByTjNumAndCusId(tjNum, order.getUserId()); if (configByKey.equals("Y")) { HashMap<String, Object> hisRequestParams = new HashMap<>(); @@ -3160,17 +3263,156 @@ return AjaxResult.error("鎾ら攢澶辫触,璋冪敤浣滃簾鍑虹幇澶辫触"); } } - try { - extracted(dto, order); - } catch (Exception e) { - log.info("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�"); - return AjaxResult.error("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�!"); + String s = configService.selectConfigByKey("is_request_common_his_api"); + if (null != s && s.equals("Y") && "2".equals(order.getTjType())) { + ArrayList<TjFlowingWater> weizhifu = new ArrayList<>(); + ArrayList<TjFlowingWater> yizhifu = new ArrayList<>(); + for (String bldh : dto.getBldhs()) { + LambdaQueryWrapper<TjFlowingWater> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjFlowingWater::getJxbz,bldh); + TjFlowingWater water = tjFlowingWaterService.getOne(wrapper); + if (water.getPayStasus() == 0L){ + weizhifu.add(water); + }else { + yizhifu.add(water); + } + } + String apiUrl = configService.selectConfigByKey("common_api_url"); + String hospbm = configService.selectConfigByKey("common_api_service_hospbm"); + LambdaQueryWrapper<TjCustomer> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjCustomer::getCusId,order.getUserId()); + TjCustomer tjCustomer = tjCustomerService.getOne(wrapper); + AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order,true,dto.getTjh()); + if (error != null && !error.get("code").toString().equals("200")) return error; + + AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm,false,dto.getTjh()); + if (error1 != null && !error.get("code").toString().equals("200")) return error1; + return AjaxResult.success(); + }else { + try { + extracted(dto, order); + } catch (Exception e) { + log.info("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�"); + return AjaxResult.error("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�!"); + } + return AjaxResult.success(); } - return AjaxResult.success(); } return AjaxResult.error(); } + private AjaxResult zuofeiYiZhifu(ArrayList<TjFlowingWater> yizhifu, TjCustomer tjCustomer, TjOrder order, String apiUrl, String hospbm,Boolean isDelete,String tjNum) { + if (!yizhifu.isEmpty()){ + for (TjFlowingWater water : yizhifu) { + HashMap<String, Object> map = new HashMap<>(); + map.put("pationId", tjCustomer.getPationId()); + map.put("cardId", tjCustomer.getHisJzkh()); + map.put("tjNum", water.getTjSerialNumber()); + map.put("kaiDanKs","7805"); + // 鏀惰垂鏍囧織 1寰呭敭璐� 2寰呴��璐� + map.put("shouTuiStatus","2"); + JSONArray array = JSONUtil.createArray(); + String bldh = water.getJxbz(); + List<TbTransition> list; + if (bldh != null){ + LambdaQueryWrapper<TbTransition> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(TbTransition::getJxbz,bldh); + wrapper1.gt(TbTransition::getOrdPrice,0); + list = tbTransitionService.list(wrapper1); + }else { + LambdaQueryWrapper<TbTransition> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.isNull(TbTransition::getJxbz); + wrapper1.eq(TbTransition::getTjNum,tjNum); + wrapper1.gt(TbTransition::getOrdPrice,0); + list = tbTransitionService.list(wrapper1); + } + for (TbTransition transition : list) { + LambdaQueryWrapper<TjProject> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(TjProject::getProId,transition.getProId()); + TjProject project = projectService.getOne(queryWrapper); + LambdaQueryWrapper<TjFlowingWaterHis> wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.eq(TjFlowingWaterHis::getParentId,water.getHisWaterId()); + wrapper2.eq(TjFlowingWaterHis::getXmId,project.getHisXmbm()); + List<TjFlowingWaterHis> list1 = tjFlowingWaterHisService.list(wrapper2); + for (TjFlowingWaterHis waterHis : list1) { + LambdaQueryWrapper<SysDept> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SysDept::getDeptId,project.getDeptId()); + SysDept dept = sysDeptService.getOne(wrapper); + JSONObject obj = JSONUtil.createObj(); + BigDecimal danjia = transition.getOrdPrice(); + Integer sl = project.getSl(); + BigDecimal allPrice = danjia.multiply(new BigDecimal(sl)); + obj.putOpt("danJia",danjia); + obj.putOpt("jieSuanJe",allPrice.negate()); + obj.putOpt("shuliang",Math.negateExact(sl)); + obj.putOpt("feiYongMxId",waterHis.getCurrentId()); + obj.putOpt("feiYongId",water.getHisWaterId()); + obj.putOpt("zhiXingKs",dept.getDeptId()); + obj.putOpt("zhiXingKsMc",dept.getDeptName()); + obj.putOpt("shouFeiXmId",project.getHisXmbm()); + obj.putOpt("shouFeiXmMc",project.getHisXmmc()); + +// obj.putOpt("zhiXingKs","7805"); +// obj.putOpt("zhiXingKsMc","浣撴绉�"); +// obj.putOpt("shouFeiXmId","4735346"); +// obj.putOpt("shouFeiXmMc","浣撴璐�"); + array.add(obj); + } + + } + map.put("feiYongInfoList",array); + log.info("閫�璐圭敵璇� 鍏ュ弬 -> {}",JSONUtil.toJsonStr(map)); + String post = HttpClientUtils.sendPost(apiUrl + "/api/his/"+ hospbm +"/creatCostInfo", map); + log.info("閫�璐圭敵璇� 杩斿洖 -> {}",JSONUtil.toJsonStr(post)); + JSONObject jsonObject = JSONUtil.parseObj(post); + if (jsonObject.getStr("code").equals("200")) { + // hisTfWaterId + String tfid = jsonObject.getJSONObject("data").getStr("feiYongId"); + water.setHisTfWaterId(tfid); + tjFlowingWaterService.updateById(water); + if (isDelete) { + for (TjFlowingWater water1 : yizhifu) { + String bldh1 = water1.getJxbz(); + remarkService.deleteTjOrderDetailByjxbz(bldh1); + tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh1); + tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh1); + transitionService.deleteTjOrderDetailByjxbz(bldh1); + blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, tjNum).eq(TjProBl::getBldh, bldh1)); + tjSamplingMapper.deleteByTjNumAndCusIdAndJxbzo(tjNum, order.getUserId(), bldh1); + } + } + }else return AjaxResult.error(); + } + } + return null; + } + + private AjaxResult zuofeiWeiZhifu(ArrayList<TjFlowingWater> weizhifu, TjCustomer tjCustomer, String apiUrl, String hospbm, TjOrder order,Boolean isDelete,String tjNum) { + if (!weizhifu.isEmpty()){ + HashMap<String, Object> chexiaoMap = new HashMap<>(); + chexiaoMap.put("pationId", tjCustomer.getPationId()); + chexiaoMap.put("cardId", tjCustomer.getHisJzkh()); + String feiyongList = weizhifu.stream().map(TjFlowingWater::getHisWaterId).collect(Collectors.joining(",")); + chexiaoMap.put("feiYongIdList",feiyongList.trim().replaceAll(" ","")); + + String post = HttpClientUtils.sendPost(apiUrl + "/api/his/"+ hospbm +"/revokeCost", chexiaoMap); + if (JSONUtil.parseObj(post).getStr("code").equals("200")) { + if (isDelete) { + for (TjFlowingWater water : weizhifu) { + String bldh = water.getJxbz(); + remarkService.deleteTjOrderDetailByjxbz(bldh); + tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh); + tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh); + transitionService.deleteTjOrderDetailByjxbz(bldh); + blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, tjNum).eq(TjProBl::getBldh, bldh)); + tjSamplingMapper.deleteByTjNumAndCusIdAndJxbzo(tjNum, order.getUserId(), bldh); + } + } + } else return AjaxResult.error(); + } + return null; + } + // @Transactional(propagation =Propagation.REQUIRES_NEW) public void extracted(TjProBlDto dto, TjOrder order) { for (String bldh : dto.getBldhs()) { diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java b/ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java index f54dab5..97deb77 100644 --- a/ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java +++ b/ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java @@ -116,7 +116,7 @@ // 闈欐�佽祫婧愶紝鍙尶鍚嶈闂� .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll() .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() - .antMatchers("/jmreport/**","/lis/**","/pacs/**").anonymous() + .antMatchers("/jmreport/**","/lis/**","/pacs/**","/callBack/**").anonymous() // 闄や笂闈㈠鐨勬墍鏈夎姹傚叏閮ㄩ渶瑕侀壌鏉冭璇� .anyRequest().authenticated() .and() diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/config/WebConfig.java b/ltkj-framework/src/main/java/com/ltkj/framework/config/WebConfig.java index 9a08c56..1d9e1fd 100644 --- a/ltkj-framework/src/main/java/com/ltkj/framework/config/WebConfig.java +++ b/ltkj-framework/src/main/java/com/ltkj/framework/config/WebConfig.java @@ -21,7 +21,8 @@ "/cus/package/getPackageList", "/cus/package/projectListByPacId/**", "/cus/hospital/getHospList", - "/lis/**","/api/His/**","/pacs/**" + "/lis/**","/api/His/**","/pacs/**", + "/callBack/**" }); } } diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/HisSyncDict.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/HisSyncDict.java new file mode 100644 index 0000000..562c130 --- /dev/null +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/HisSyncDict.java @@ -0,0 +1,55 @@ +package com.ltkj.hosp.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import lombok.Data; + +/** + * his瀛楀吀鍚屾琛� + * @TableName his_sync_dict + */ +@TableName(value ="his_sync_dict") +@Data +public class HisSyncDict implements Serializable { + /** + * 缂栧彿 + */ + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 瀛楀吀鍙傛暟 + */ + private String dictName; + + /** + * 鏄惁鍒嗛〉 0鍚�1鏄� + */ + private Integer isLimit; + + /** + * 璇锋眰鍦板潃 + */ + private String url; + + /** + * 璇锋眰鍙傛暟 + */ + private String params; + + /** + * 闄㈠尯id + */ + private String hospId; + + /** + * 澶囨敞 + */ + private String remark; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjCustomer.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjCustomer.java index fb59dee..7e0992c 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjCustomer.java +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjCustomer.java @@ -333,6 +333,8 @@ private String compName; + private String hisJzkh; + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) @@ -360,6 +362,7 @@ .append("dwPhone", getDwPhone()) .append("compId", getDictCompId()) .append("compName", getCompName()) + .append("hisJzkh", getHisJzkh()) .toString(); } } diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjFlowingWater.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjFlowingWater.java index 1e9a5c2..dc93f04 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjFlowingWater.java +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjFlowingWater.java @@ -180,6 +180,16 @@ @ApiModelProperty(value = "鍔犻」鏍囧織") private String jxbz; + /** + * 鏀惰垂id + */ + private String hisWaterId; + + /** + * 閫�璐筰d + */ + private String hisTfWaterId; + @Override public String toString() { @@ -192,6 +202,7 @@ .append("updateBy", getUpdateBy()) .append("updateTime", getUpdateTime()) .append("deleted", getDeleted()) + .append("hisWaterId", getHisWaterId()) .toString(); } } diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjFlowingWaterHis.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjFlowingWaterHis.java new file mode 100644 index 0000000..cf40db6 --- /dev/null +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjFlowingWaterHis.java @@ -0,0 +1,40 @@ +package com.ltkj.hosp.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import lombok.Data; + +/** + * his璁㈠崟娴佹按鍏宠仈 + * @TableName tj_flowing_water_his + */ +@TableName(value ="tj_flowing_water_his") +@Data +public class TjFlowingWaterHis implements Serializable { + /** + * 缂栧彿 + */ + @TableId + private Long id; + + /** + * 鎬诲紑鍗昳d + */ + private String parentId; + + /** + * 褰撳墠椤圭洰璁㈠崟id + */ + private String currentId; + + /** + * his椤圭洰id + */ + private String xmId; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/HisSyncDictMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/HisSyncDictMapper.java new file mode 100644 index 0000000..f5afcc7 --- /dev/null +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/HisSyncDictMapper.java @@ -0,0 +1,18 @@ +package com.ltkj.hosp.mapper; + +import com.ltkj.hosp.domain.HisSyncDict; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author 10845 +* @description 閽堝琛ㄣ�恏is_sync_dict(his瀛楀吀鍚屾琛�)銆戠殑鏁版嵁搴撴搷浣淢apper +* @createDate 2024-12-23 10:58:51 +* @Entity com.ltkj.hosp.domain.HisSyncDict +*/ +public interface HisSyncDictMapper extends BaseMapper<HisSyncDict> { + +} + + + + diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjFlowingWaterHisMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjFlowingWaterHisMapper.java new file mode 100644 index 0000000..3bc6196 --- /dev/null +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjFlowingWaterHisMapper.java @@ -0,0 +1,18 @@ +package com.ltkj.hosp.mapper; + +import com.ltkj.hosp.domain.TjFlowingWaterHis; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author 10845 +* @description 閽堝琛ㄣ�恡j_flowing_water_his(his璁㈠崟娴佹按鍏宠仈)銆戠殑鏁版嵁搴撴搷浣淢apper +* @createDate 2024-12-23 10:52:23 +* @Entity com.ltkj.hosp.domain.TjFlowingWaterHis +*/ +public interface TjFlowingWaterHisMapper extends BaseMapper<TjFlowingWaterHis> { + +} + + + + diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java index 40e3b74..8204779 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java @@ -143,6 +143,10 @@ int deleteByTjNumAndCusIdAndJxbz(@Param("tjNum") String tjNum,@Param("userId") Long userId,@Param("ids")List<String> ids); + @Delete("DELETE FROM tj_sampling WHERE tj_num = #{tjNum} AND cus_id = #{userId} and jxbz = #{jxbz} ") + int deleteByTjNumAndCusIdAndJxbzo(@Param("tjNum") String tjNum,@Param("userId") Long userId,@Param("jxbz")String jxbz); + + @Select({"<script>","SELECT\n" + " IFNULL(GROUP_CONCAT( aa.pro_name SEPARATOR ' ; ' ),NULL)\n" + "FROM\n" + diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/HisSyncDictService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/HisSyncDictService.java new file mode 100644 index 0000000..85019c8 --- /dev/null +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/HisSyncDictService.java @@ -0,0 +1,13 @@ +package com.ltkj.hosp.service; + +import com.ltkj.hosp.domain.HisSyncDict; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author 10845 +* @description 閽堝琛ㄣ�恏is_sync_dict(his瀛楀吀鍚屾琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice +* @createDate 2024-12-23 10:58:51 +*/ +public interface HisSyncDictService extends IService<HisSyncDict> { + +} diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java index beb51f9..cdcc1f2 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java @@ -35,7 +35,7 @@ void updateOrdeltile2(TjOrderDetail tjOrderDetail, SysUser sysUser); //鍗曢」鏀惰垂 - Boolean iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser); + Boolean iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser,String jxbz); //鍖荤敓妫�鏌ュ悜缂撳瓨涓坊鍔犳暟鎹�(鏁翠綋瀛樺叆) diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjFlowingWaterHisService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjFlowingWaterHisService.java new file mode 100644 index 0000000..5b6b5b1 --- /dev/null +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjFlowingWaterHisService.java @@ -0,0 +1,13 @@ +package com.ltkj.hosp.service; + +import com.ltkj.hosp.domain.TjFlowingWaterHis; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author 10845 +* @description 閽堝琛ㄣ�恡j_flowing_water_his(his璁㈠崟娴佹按鍏宠仈)銆戠殑鏁版嵁搴撴搷浣淪ervice +* @createDate 2024-12-23 10:52:23 +*/ +public interface TjFlowingWaterHisService extends IService<TjFlowingWaterHis> { + +} diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/HisSyncDictServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/HisSyncDictServiceImpl.java new file mode 100644 index 0000000..7c697b9 --- /dev/null +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/HisSyncDictServiceImpl.java @@ -0,0 +1,22 @@ +package com.ltkj.hosp.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ltkj.hosp.domain.HisSyncDict; +import com.ltkj.hosp.service.HisSyncDictService; +import com.ltkj.hosp.mapper.HisSyncDictMapper; +import org.springframework.stereotype.Service; + +/** +* @author 10845 +* @description 閽堝琛ㄣ�恏is_sync_dict(his瀛楀吀鍚屾琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 +* @createDate 2024-12-23 10:58:51 +*/ +@Service +public class HisSyncDictServiceImpl extends ServiceImpl<HisSyncDictMapper, HisSyncDict> + implements HisSyncDictService{ + +} + + + + diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjFlowingWaterHisServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjFlowingWaterHisServiceImpl.java new file mode 100644 index 0000000..3a76843 --- /dev/null +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjFlowingWaterHisServiceImpl.java @@ -0,0 +1,22 @@ +package com.ltkj.hosp.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ltkj.hosp.domain.TjFlowingWaterHis; +import com.ltkj.hosp.service.TjFlowingWaterHisService; +import com.ltkj.hosp.mapper.TjFlowingWaterHisMapper; +import org.springframework.stereotype.Service; + +/** +* @author 10845 +* @description 閽堝琛ㄣ�恡j_flowing_water_his(his璁㈠崟娴佹按鍏宠仈)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 +* @createDate 2024-12-23 10:52:23 +*/ +@Service +public class TjFlowingWaterHisServiceImpl extends ServiceImpl<TjFlowingWaterHisMapper, TjFlowingWaterHis> + implements TjFlowingWaterHisService{ + +} + + + + diff --git a/ltkj-hosp/src/main/resources/mapper/HisSyncDictMapper.xml b/ltkj-hosp/src/main/resources/mapper/HisSyncDictMapper.xml new file mode 100644 index 0000000..eea368a --- /dev/null +++ b/ltkj-hosp/src/main/resources/mapper/HisSyncDictMapper.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ltkj.hosp.mapper.HisSyncDictMapper"> + + <resultMap id="BaseResultMap" type="com.ltkj.hosp.domain.HisSyncDict"> + <id property="id" column="id" jdbcType="BIGINT"/> + <result property="dictName" column="dict_name" jdbcType="VARCHAR"/> + <result property="isLimit" column="is_limit" jdbcType="TINYINT"/> + <result property="url" column="url" jdbcType="VARCHAR"/> + <result property="params" column="params" jdbcType="VARCHAR"/> + <result property="hospId" column="hosp_id" jdbcType="VARCHAR"/> + <result property="remark" column="remark" jdbcType="VARCHAR"/> + </resultMap> + + <sql id="Base_Column_List"> + id,dict_name,is_limit, + url,params,hosp_id, + remark + </sql> +</mapper> diff --git a/ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml b/ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml index 8500345..59c1c3f 100644 --- a/ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml +++ b/ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml @@ -35,6 +35,7 @@ <result property="pym" column="pym"/> <result property="dictCompId" column="dict_comp_id"/> <result property="compName" column="comp_name"/> + <result property="hisJzkh" column="his_jzkh"/> </resultMap> <sql id="selectTjCustomerVo"> @@ -65,7 +66,7 @@ age_unit, career, dw_phone, - pym,dict_comp_id,comp_name + pym,dict_comp_id,comp_name,his_jzkh from tj_customer </sql> @@ -130,6 +131,7 @@ <if test="pym != null">pym,</if> <if test="dictCompId != null">dict_comp_id,</if> <if test="compName != null">comp_name,</if> + <if test="hisJzkh != null">his_jzkh,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="cusName != null and cusName != ''">#{cusName},</if> @@ -161,6 +163,7 @@ <if test="pym != null">#{pym},</if> <if test="dictCompId != null">#{dictCompId},</if> <if test="compName != null">#{compName},</if> + <if test="hisJzkh != null">#{hisJzkh},</if> </trim> </insert> @@ -196,6 +199,7 @@ <if test="pym != null">pym = #{pym},</if> <if test="dictCompId != null">dict_comp_id = #{dictCompId},</if> <if test="compName != null">comp_name = #{compName},</if> + <if test="hisJzkh != null">his_jzkh = #{hisJzkh},</if> </trim> where cus_id = #{cusId} </update> diff --git a/ltkj-hosp/src/main/resources/mapper/TjFlowingWaterHisMapper.xml b/ltkj-hosp/src/main/resources/mapper/TjFlowingWaterHisMapper.xml new file mode 100644 index 0000000..5be2aed --- /dev/null +++ b/ltkj-hosp/src/main/resources/mapper/TjFlowingWaterHisMapper.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ltkj.hosp.mapper.TjFlowingWaterHisMapper"> + + <resultMap id="BaseResultMap" type="com.ltkj.hosp.domain.TjFlowingWaterHis"> + <id property="id" column="id" jdbcType="BIGINT"/> + <result property="parentId" column="parent_id" jdbcType="VARCHAR"/> + <result property="currentId" column="current_id" jdbcType="VARCHAR"/> + <result property="xmId" column="xm_id" jdbcType="VARCHAR"/> + </resultMap> + + <sql id="Base_Column_List"> + id,parent_id,current_id,xm_id + </sql> +</mapper> diff --git a/ltkj-hosp/src/main/resources/mapper/hosp/TjFlowingWaterMapper.xml b/ltkj-hosp/src/main/resources/mapper/hosp/TjFlowingWaterMapper.xml index 3f97287..c2fb406 100644 --- a/ltkj-hosp/src/main/resources/mapper/hosp/TjFlowingWaterMapper.xml +++ b/ltkj-hosp/src/main/resources/mapper/hosp/TjFlowingWaterMapper.xml @@ -22,6 +22,8 @@ <result property="refundTime" column="refund_time"/> <result property="refundPrice" column="refund_price"/> <result property="deleted" column="deleted"/> + <result property="hisWaterId" column="his_water_id"/> + <result property="hisTfWaterId" column="his_tf_water_id"/> </resultMap> <sql id="selectTjFlowingWaterVo"> @@ -41,7 +43,7 @@ refund_person_id, refund_time, refund_price, - deleted + deleted,his_water_id,his_tf_water_id from tj_flowing_water </sql> @@ -75,6 +77,8 @@ <if test="updateBy != null">update_by,</if> <if test="updateTime != null">update_time,</if> <if test="deleted != null">deleted,</if> + <if test="hisWaterId != null">his_water_id,</if> + <if test="hisTfWaterId != null">his_tf_water_id,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="tjSerialNumber != null">#{tj_serial_number},</if> @@ -90,6 +94,8 @@ <if test="updateBy != null">#{updateBy},</if> <if test="updateTime != null">#{updateTime},</if> <if test="deleted != null">#{deleted},</if> + <if test="hisWaterId != null">#{hisWaterId},</if> + <if test="hisTfWaterId != null">#{hisTfWaterId},</if> </trim> </insert> @@ -108,6 +114,8 @@ <if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateTime != null">update_time = #{updateTime},</if> <if test="deleted != null">deleted = #{deleted},</if> + <if test="hisWaterId != null">his_water_id = #{hisWaterId},</if> + <if test="hisTfWaterId != null">his_tf_water_id = #{hisTfWaterId},</if> </trim> where tj_serial_number = #{tj_serial_number} </update> -- Gitblit v1.8.0