From 9155df2aeab5b0d95c89dd928dbaefbfbaeae9d1 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 05 九月 2024 17:10:35 +0800 Subject: [PATCH] zjh 2024-09-05 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java | 211 +++++++++++++++++++++++++++++++--------------------- 1 files changed, 125 insertions(+), 86 deletions(-) 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 9b12ca8..5e547ac 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 @@ -1,12 +1,18 @@ package com.ltkj.web.controller.system; import java.io.*; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; import cn.hutool.core.date.DateUtil; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.base.Joiner; @@ -24,9 +30,11 @@ import com.ltkj.system.domain.SysPost; import com.ltkj.system.domain.SysUserPost; import com.ltkj.system.service.*; +import com.ltkj.web.controller.his.HisApiGetMethodService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ArrayUtils; import org.apache.ibatis.jdbc.Null; import org.springframework.beans.factory.annotation.Autowired; @@ -57,6 +65,7 @@ @RestController @RequestMapping("/system/dept") @Api(tags = "绉戝閮ㄩ棬淇℃伅") +@Slf4j public class SysDeptController extends BaseController implements Serializable { @Resource private ISysDeptService deptService; @@ -102,6 +111,12 @@ private TestMapper testMapper; @Autowired private ISysConfigService configService; + @Autowired + private ITjFlowingWaterService tjFlowingWaterService; + @Autowired + private HisApiGetMethodService hisApiGetMethodService; + @Autowired + private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService; /** * 璇ヤ綋妫�绉戝涓嬪鎴峰垪琛ㄦ樉绀烘帴鍙� @@ -1300,14 +1315,17 @@ public AjaxResult addRemark(@ApiParam(value = "浣撴鐖堕」鐩娉ㄩ泦鍚�") @RequestBody List<TjOrderRemark> remarklList) { Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); SysUser sysUser = userService.getById(userId); - if (remarklList == null || remarklList.size() == 0) { + if (remarklList == null || remarklList.isEmpty()) { return AjaxResult.success("鎿嶄綔澶辫触"); } for (TjOrderRemark orderRemark : remarklList) { List<String> summaryList = orderRemark.getSummaryList(); - if (null != summaryList && summaryList.size()>0 && !summaryList.contains(null) ) { + if (null != summaryList && !summaryList.isEmpty() && !summaryList.contains(null) ) { orderRemark.setSummary(Joiner.on(";").join(orderRemark.getSummaryList())); + }else { + orderRemark.setSummary(null); } + if(StringUtils.isBlank(orderRemark.getRemark()))orderRemark.setRemark(null); LambdaQueryWrapper<TjOrder> qw = new LambdaQueryWrapper<>(); qw.eq(TjOrder::getTjNumber, orderRemark.getTjNumber()); TjOrder order = orderService.getOne(qw); @@ -1318,7 +1336,7 @@ List<TjOrderDetail> tjOrderDetailList = orderRemark.getTjOrderDetailList(); final TjCustomer byId1 = customerService.getById(order.getUserId()); - if (null != tjOrderDetailList && tjOrderDetailList.size() > 0) { + if (null != tjOrderDetailList && !tjOrderDetailList.isEmpty()) { //----------------------------------start for (TjOrderDetail tjOrderDetail : tjOrderDetailList) { final TjProject byId = projectService.getById(tjOrderDetail.getProId()); @@ -1363,10 +1381,11 @@ remarkService.save(remark); } else { one.setRemark(orderRemark.getRemark()); - if (null != summaryList && summaryList.size()>0 && !summaryList.contains(null)) { + if (null != summaryList && !summaryList.isEmpty() && !summaryList.contains(null)) { one.setSummary(Joiner.on(";").join(orderRemark.getSummaryList())); + }else { + one.setSummary(null); } -// one.setDeptId(orderRemark.getDeptId()); one.setDoctorName(orderRemark.getDoctorName()); one.setType(1); remarkService.updateById(one); @@ -1387,6 +1406,7 @@ * @param tjNumber * @return */ +// @Transactional @GetMapping("/getParentList") @ApiOperation(value = "鍖荤敓鐐瑰嚮浣撴淇℃伅璇︽儏(鍙樉绀虹埗椤圭洰鍒楄〃)") public AjaxResult getParentList(@ApiParam(value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) { @@ -1400,7 +1420,37 @@ } ksId = Math.toIntExact(sysUser.getDeptId()); } - + String configByKey = configService.selectConfigByKey("sfkqdyhis"); + // 鍒ゆ柇鏄惁鏀惰垂 璇锋眰鎺ュ彛 + TjOrder tjOrder = orderService.getOrderByTjNum(tjNumber); + LambdaQueryWrapper<TjFlowingWater> tjFlowingWaterLambdaQueryWrapper = new LambdaQueryWrapper<>(); + tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getOrderId,tjOrder.getOrderId()); + tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getIsAddition,"N"); + TjFlowingWater tjFlowingWater = tjFlowingWaterService.getOne(tjFlowingWaterLambdaQueryWrapper); + if(null !=tjFlowingWater && (tjFlowingWater.getPayStasus()!=1 || tjFlowingWater.getPayStasus()!=3)){ + if (configByKey.equals("Y")){ + HashMap<String, Object> hisRequestParams = new HashMap<>(); + // 涓嶅湪闇�瑕佽韩浠借瘉鍙� + hisRequestParams.put("patientId",tjOrder.getCardId()); + log.info("ltkj--- "+DateUtil.date()+"鎿嶄綔浜篿d: "+userId+"鎿嶄綔绉戝: "+sysUser.getDeptId()+"鎿嶄綔鐨勪綋妫�浜�: "+tjNumber); + AjaxResult queryPay = hisApiGetMethodService.getHISDataNew("QueryPay", hisRequestParams); + if (Integer.parseInt(queryPay.get("code").toString()) == 200) { + int sfsf = ltkjJianchajianyanTreeService.getSfsfByCardId(tjOrder.getCardId()); + if (sfsf > 0){ + log.error("璺嘲绉戞妧--- "+DateUtil.date()+" 瀛樺湪鏈即璐归」鐩殑 灏卞崟鏁� "+sfsf); + log.error("璺嘲绉戞妧--- "+DateUtil.date()+" 瀛樺湪鏈即璐归」鐩殑 灏辫瘖鍙� "+tjOrder.getCardId()+" 浣撴鍙� "+tjOrder.getTjNumber()); + return AjaxResult.error("瀛樺湪鏈即璐归」鐩�"); + } + extracted(tjOrder, tjFlowingWater); + }else { + log.error("璺嘲绉戞妧--- "+DateUtil.date()+" 鏈煡璇㈠埌缂磋垂璁板綍鐨� 灏辫瘖鍙� "+tjOrder.getCardId()+" 浣撴鍙� "+tjOrder.getTjNumber()); + return AjaxResult.error("鏈煡璇㈠埌缂磋垂璁板綍"); + } + } + }else { + log.error("璺嘲绉戞妧--- "+DateUtil.date()+" 鏈鎺is鎺ュ彛 "+" 浣撴鍙� "+tjOrder.getTjNumber()); + return AjaxResult.error("鏈煡璇㈠埌缂磋垂璁板綍"); + } String config = configService.selectConfigByKey("qt_open_xdt"); String byKey = configService.selectConfigByKey("qt_kjksid"); List<Integer> split = new ArrayList<>(); // 瀛樻斁杞崲鍚庣殑integer绫诲瀷缁撴灉 @@ -1491,6 +1541,23 @@ return AjaxResult.error(); } + @Transactional + public void extracted(TjOrder tjOrder, TjFlowingWater tjFlowingWater) { + tjFlowingWater.setPayStasus(1L); + tjFlowingWater.setPayType(0L); + tjFlowingWater.setTollCollectorId("148"); + tjFlowingWaterService.updateById(tjFlowingWater); + Long tjSerialNumber = tjFlowingWater.getTjSerialNumber(); + LambdaQueryWrapper<TjOrderDetail> tjOrderDetailLambdaQueryWrapper = new LambdaQueryWrapper<>(); + tjOrderDetailLambdaQueryWrapper.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId()); + List<TjOrderDetail> tjOrderDetails = detailService.list(tjOrderDetailLambdaQueryWrapper); + List<Long> detailIds = tjOrderDetails.stream().map(TjOrderDetail::getOrderDetailId).collect(Collectors.toList()); + LambdaUpdateWrapper<TjOrderDetail> tjOrderDetailLambdaUpdateWrapper = new LambdaUpdateWrapper<>(); + tjOrderDetailLambdaUpdateWrapper.set(TjOrderDetail::getFlowingWaterId,tjSerialNumber); + tjOrderDetailLambdaUpdateWrapper.in(TjOrderDetail::getOrderDetailId,detailIds); + detailService.update(tjOrderDetailLambdaUpdateWrapper); + } + /** * 鐐瑰嚮鐖堕」鐩樉绀哄瓙椤圭洰璇︽儏 * @@ -1504,14 +1571,11 @@ return AjaxResult.error("鑾峰彇鐢ㄦ埛淇℃伅閿欒"); } -// if(redisCache.hasHKey("getOrderDetailByProParentId"+tjNumber,proParentId)){ -// Map<String, Object> mapValue = redisCache.getCacheMapValue("getOrderDetailByProParentId" + tjNumber, proParentId); -// return AjaxResult.success(mapValue); -// } - TjOrderRemark remark = remarkService.getTjOrderRemarkByTjNumAndProParentId(tjNumber, proParentId); - List<TjProject> proParentList = projectService.getTjProjectListBySoneId(proParentId); - if (null == proParentList || proParentList.size()==0) { + + List<TjProject> proParentList = projectService.getTjProjectListByTbTransition(proParentId,tjNumber); + + if (null == proParentList || proParentList.isEmpty()) { Map<String, Object> map = new HashMap<>(); map.put("xiaoJieIds", null); map.put("sons", projectService.list(new LambdaQueryWrapper<TjProject>().eq(TjProject::getProId,proParentId))); @@ -1525,74 +1589,19 @@ return AjaxResult.success("璇ョ敤鎴锋殏鏃舵病鏈変綋妫�鏁版嵁"); } List<TjOrderDetail> tjOrderDetails = detailService.getTjOrderDetailListInProParentIdList(String.valueOf(one.getOrderId()), proParentIdList); + List<TjOrderDetail> tjOrderDetailList=new ArrayList<>(); TjCustomer customer = tjCustomerService.getById(one.getUserId()); - if (null != tjOrderDetails && tjOrderDetails.size() > 0) { + if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) { for (TjOrderDetail tjOrderDetail : tjOrderDetails) { TjProject project = projectService.getById(tjOrderDetail.getProId()); //鍒ゆ柇璇ラ」鐩槸鍚﹂渶瑕佹墦鍗版姤鍛� if ("N".equals(project.getNeedReport())){ continue; } - //鐥呯鍥炴樉 -// LambdaQueryWrapper<TjOrderDetailRules> wq=new LambdaQueryWrapper<>(); -// wq.eq(TjOrderDetailRules::getProId,project.getProId()); -// wq.eq(TjOrderDetailRules::getTjNumber,tjNumber); -// List<TjOrderDetailRules> list = tjOrderDetailRulesService.list(wq); -// List<TjRules> res=new ArrayList<>(); -// for (TjOrderDetailRules orderDetailRules : list) { -// final TjRules byId = tjRulesService.getById(orderDetailRules.getAid()); -// res.add(byId); -// } List<TjRules> rulesList = tjRulesService.getTjRulesListByTjNumAndProId(tjNumber, tjOrderDetail.getProId()); tjOrderDetail.setRulesList(rulesList); - - //鏌ユ爣鍑嗗拰鍗曚綅----start - List<TjStandard> list26 = tjStandardService.getTjStandardListByProId(String.valueOf(tjOrderDetail.getProId())); - if (list26.size() == 0) { - project.setProMetering("/"); - project.setProScope("/"); - } else if (list26.size() == 1) { - project.setProMetering(list26.get(0).getCompany() == null ? " " : list26.get(0).getCompany()); - project.setProScope((list26.get(0).getTjStandardLtValue() == null ? " " : list26.get(0).getTjStandardLtValue()) + "-" + (list26.get(0).getTjStandardGtValue() == null ? " " : list26.get(0).getTjStandardGtValue())); - } else { - Long cusSex = customer.getCusSex(); - Date cusBrithday = customer.getCusBrithday(); - int age = DateUtil.ageOfNow(cusBrithday); - for (TjStandard tjStandard : list26) { - LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>(); - if (tjStandard.getTjSex() != null) { - wq8.eq(TjStandard::getTjSex, cusSex); - } - if (tjStandard.getTjType() != null) { - wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(age)); - } - TjStandard standard = tjStandardService.getOne(wq8); - project.setProMetering(standard.getCompany()); - project.setProScope((standard.getTjStandardLtValue() == null ? " " : standard.getTjStandardLtValue()) + "-" + (standard.getTjStandardGtValue() == null ? " " : standard.getTjStandardGtValue())); - } - } - //鏌ユ爣鍑嗗拰鍗曚綅-----end tjOrderDetail.setProject(project); - List<TjStandard> list2 = tjStandardService.getTjStandardListByProId(String.valueOf(project.getProId())); - if (list2.size() == 0) { - tjOrderDetail.setStandard(null); - } else if (list2.size() == 1) { - tjOrderDetail.setStandard(list2.get(0)); - } else { - for (TjStandard tjStandard : list2) { - LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>(); - if (tjStandard.getTjSex() != null) { - wq8.eq(TjStandard::getTjSex, customer.getCusSex()); - } - if (tjStandard.getTjType() != null) { - wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday()))); - } - TjStandard standard = tjStandardService.getOne(wq8); - tjOrderDetail.setStandard(standard); - } - } if (null != remark.getDoctorName()) { - //lg0412 SysUser byId = userService.getById(remark.getDoctorName()); if (byId != null) { tjOrderDetail.setDoctorName(userService.getById(remark.getDoctorName()).getNickName()); @@ -1600,17 +1609,13 @@ } else { tjOrderDetail.setDoctorName(null); } + tjOrderDetailList.add(tjOrderDetail); } } Map<String, Object> map = new HashMap<>(); List<TjAdvice> adviceList = new ArrayList<>(); if (null != remark) { String[] strings = StringUtils.split(remark.getSummary(), ";"); -// if (null != strings && strings.length > 0) { -// for (String string : strings) { -// adviceList.add(tjAdviceService.getById(string)); -// } -// } if(null !=strings && strings.length>0){ List<TjAdvice> list = tjAdviceService.getAdviceStringByIds(strings); adviceList.addAll(list); @@ -1619,7 +1624,7 @@ } else { map.put("xiaoJieIds", null); } - map.put("sons", tjOrderDetails); + map.put("sons", tjOrderDetailList); map.put("xiaoJie", adviceList); map.put("remark", remark.getRemark()); @@ -1656,23 +1661,57 @@ /** * 鏍规嵁椤圭洰id鑾峰彇寤鸿 */ - @GetMapping("/getDeptAdvice/{proId}") + @GetMapping("/getDeptAdvice") @ApiOperation(value = "鏍规嵁椤圭洰id鑾峰彇寤鸿") - public AjaxResult getDeptAdvice(@ApiParam(value = "鐖堕」鐩」鐩甶d") @PathVariable String proId) { - List<TjAdvice> list = new ArrayList<>(); + public AjaxResult getDeptAdvice(@ApiParam(value = "鐖堕」鐩」鐩甶d") @RequestParam(required = false) String proId, + @ApiParam(value = "鍐呭") @RequestParam(required = false) String nr, + @ApiParam(value = "鎷奸煶鐮�") @RequestParam(required = false) String pym, + @ApiParam(value = "椤电爜") @RequestParam(defaultValue ="1") int page, + @ApiParam(value = "姣忛〉灞曠ず鏉℃暟") @RequestParam(defaultValue ="10") int pageSize) { LambdaQueryWrapper<TjAdvice> wq1 = new LambdaQueryWrapper<>(); - wq1.eq(TjAdvice::getProId, proId); - List<TjAdvice> list1 = tjAdviceService.list(wq1); - //濡傛灉娌℃湁椤圭洰id 灏辫繑鍥炴墍鏈夌殑寤鸿闆嗗悎 - if (list1.size() == 0) { - return AjaxResult.success(tjAdviceService.list()); + if(null !=proId){ + wq1.eq(TjAdvice::getProId, proId); } - for (TjAdvice tjAdvice : list1) { - list.add(tjAdvice); + if(null !=nr && !nr.isEmpty()){ + wq1.like(TjAdvice::getTitle,nr); + }else if (null !=pym && !pym.isEmpty()){ + wq1.like(TjAdvice::getTitle,pym); + } +// else { +// wq1.last("limit 20"); +// } + Page<TjAdvice> pages=new Page<>(page,pageSize); + Page<TjAdvice> advicePage = tjAdviceService.page(pages, wq1); + Map<String,Object> map=new HashMap<>(); + map.put("list",advicePage.getRecords()); + map.put("total",advicePage.getTotal()); +// List<TjAdvice> list = tjAdviceService.list(wq1); + return AjaxResult.success(map); + } + + + + + @GetMapping("/getAdviceByTjNumAndPro") + @ApiOperation(value = "鏍规嵁椤圭洰id鍜屼綋妫�鍙疯幏鍙栧缓璁�") + public AjaxResult getAdviceByTjNumAndPro(@ApiParam(value = "鐖堕」鐩」鐩甶d") @RequestParam String proId, + @ApiParam(value = "浣撴鍙�") @RequestParam String tjNum) { + LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>(); + wq.eq(TjOrderRemark::getProId, proId); + wq.eq(TjOrderRemark::getTjNumber,tjNum); + TjOrderRemark remark = remarkService.getOne(wq); + List<TjAdvice> list =null; + if (null != remark && !StringUtils.isBlank(remark.getSummary())) { + String[] strings = StringUtils.split(remark.getSummary(), ";"); + if(null !=strings && strings.length>0){ + list = tjAdviceService.getAdviceStringByIds(strings); + } } return AjaxResult.success(list); } + + /** * 鑾峰彇閮ㄩ棬鏍戝垪琛� */ -- Gitblit v1.8.0