From c0f0bf3c1c598c10d4eb80751960bca76da50b0d Mon Sep 17 00:00:00 2001 From: zjh <zjh@888> Date: 星期五, 14 六月 2024 18:03:32 +0800 Subject: [PATCH] zjh 本地 2024/06/14 --1 --- ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java | 349 ++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 303 insertions(+), 46 deletions(-) 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 4096f5e..9a2ae67 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 @@ -1,7 +1,10 @@ package com.ltkj.web.controller.service; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.core.domain.entity.SysUser; @@ -10,13 +13,20 @@ import com.ltkj.common.utils.StringUtils; import com.ltkj.framework.config.MatchUtils; import com.ltkj.hosp.domain.*; +import com.ltkj.hosp.hisDto.OutpinexamapplyDto; +import com.ltkj.hosp.hisDto.OutpintestapplyDetailsDto; +import com.ltkj.hosp.hisDto.OutpintestapplyDto; +import com.ltkj.hosp.hisDto.OutpintreatapplyDto; import com.ltkj.hosp.service.*; import com.ltkj.hosp.vodomain.AddNewReservationConfirm; import com.ltkj.hosp.vodomain.LineChartsVo; import com.ltkj.hosp.vodomain.PieChartVo; import com.ltkj.hosp.vodomain.QjDomainVo; import com.ltkj.mall.mallOrderUtils.TjConstants; +import com.ltkj.system.service.ISysConfigService; import com.ltkj.system.service.ISysUserService; +import com.ltkj.web.controller.his.HisApiGetMethodService; +import com.ltkj.web.controller.his.HisApiMethodService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -96,7 +106,14 @@ private IDictSfxmService dictSfxmService; @Autowired private ITjRulesService tjRulesService; - + @Autowired + private HisApiMethodService controller; + @Autowired + private HisApiConfigService hisApiConfigService; + @Autowired + private HisApiGetMethodService hisApiGetMethodService; + @Resource + private ISysConfigService configService; @Override public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { @@ -468,9 +485,28 @@ @Override @Async("async") + @Transactional public void iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser) { + Date dates = new Date(); + final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); List<TjConsumables> list2 = new ArrayList<>(); String[] tjProIds = tjFlowingWater.getTjProIds(); + + String config = configService.selectConfigByKey("sfkqdyhis"); + + //妫�楠� + List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); + + //妫�鏌� + List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>(); + + + //澶勭疆 + List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>(); + + + List<TjProject> projectList=new ArrayList<>(); + for (String tjProId : tjProIds) { LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>(); wqq.eq(TbTransition::getCusId, customer.getCusIdcard()); @@ -482,9 +518,9 @@ tjOrderRemark.setDeptId(project.getDeptId()); tjOrderRemark.setTjNumber(order.getTjNumber()); tjOrderRemark.setCreateBy(sysUser.getNickName()); - tjOrderRemark.setCreateTime(new Date()); + tjOrderRemark.setCreateTime(dates); tjOrderRemark.setUpdateBy(sysUser.getNickName()); - tjOrderRemark.setUpdateTime(new Date()); + tjOrderRemark.setUpdateTime(dates); tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId())); tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId())); orderRemarkService.save(tjOrderRemark); @@ -493,13 +529,13 @@ TjOrderDetail detail = new TjOrderDetail(); detail.setTjStatus(0L); detail.setOrderId(tjFlowingWater.getOrderId()); - detail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); +// detail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); detail.setProId(Long.valueOf(tjProId)); detail.setIsAddition("Y"); detail.setCreateBy(sysUser.getNickName()); - detail.setCreateTime(new Date()); + detail.setCreateTime(dates); detail.setUpdateBy(sysUser.getNickName()); - detail.setUpdateTime(new Date()); + detail.setUpdateTime(dates); detail.setCreateId(String.valueOf(sysUser.getUserId())); detail.setUpdateId(String.valueOf(sysUser.getUserId())); tjOrderDetailService.save(detail); @@ -507,69 +543,102 @@ TjOrderDetail detail1 = new TjOrderDetail(); detail1.setTjStatus(0L); detail1.setOrderId(tjFlowingWater.getOrderId()); - detail1.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); +// detail1.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); detail1.setProId(proId); detail1.setIsAddition("Y"); detail.setCreateBy(sysUser.getNickName()); - detail.setCreateTime(new Date()); + detail.setCreateTime(dates); detail.setUpdateBy(sysUser.getNickName()); - detail.setUpdateTime(new Date()); + detail.setUpdateTime(dates); detail.setCreateId(String.valueOf(sysUser.getUserId())); detail.setUpdateId(String.valueOf(sysUser.getUserId())); tjOrderDetailService.save(detail1); } wqq.in(TbTransition::getProId, proIds); + + if(null !=config && config.equals("Y")){ + //妫�楠� + if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && (project.getDeptId() == 241L || project.getDeptId() == 317L)) { + if (null != project.getHisXmbm()) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(project.getHisXmbm()); + if (project.getSfzhfy().equals("Y")) { + detailsDto.setSfzhfy("1"); + } else { + detailsDto.setSfzhfy("0"); + } + detailsDto.setSl(1); + detailsDtos.add(detailsDto); + } + } + + //妫�鏌� + if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && + (project.getDeptId() == 247 || project.getDeptId() == 248 || project.getDeptId() == 249 || + project.getDeptId() == 250 || project.getDeptId() == 251 || project.getDeptId() == 252 || + project.getDeptId() == 271 || project.getDeptId() == 273 || project.getDeptId() == 274 || + project.getDeptId() == 275 || project.getDeptId() == 298)) { + if (null != project.getHisXmbm()) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(project.getHisXmbm()); + if (project.getSfzhfy().equals("Y")) { + detailsDto.setSfzhfy("1"); + } else { + detailsDto.setSfzhfy("0"); + } + detailsDto.setSl(1); + detailsDtoss.add(detailsDto); + } + } + + //澶勭疆 + if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && + (project.getDeptId() == 100 || project.getDeptId() == 240 || project.getDeptId() == 253 || + project.getDeptId() == 254 || project.getDeptId() == 255 || project.getDeptId() == 257 || + project.getDeptId() == 258 || project.getDeptId() == 259 || project.getDeptId() == 269 || + project.getDeptId() == 270)) { + if (null != project.getHisXmbm()) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(project.getHisXmbm()); + if (project.getSfzhfy().equals("Y")) { + detailsDto.setSfzhfy("1"); + } else { + detailsDto.setSfzhfy("0"); + } + detailsDto.setSl(1); + detailDtos.add(detailsDto); + } + } + } + + + } else { - wqq.in(TbTransition::getProId, Arrays.asList(tjProIds)); - TjProject projects = projectService.selectTjProjectByProId(Long.valueOf(tjProId)); if (null != projects) { TjProject projectss = projectService.selectTjProjectByProId(projects.getProParentId()); - if (null != projectss) { - TjOrderRemark tjOrderRemark = new TjOrderRemark(); - tjOrderRemark.setProId(Long.valueOf(tjProId)); - tjOrderRemark.setProName(projectss.getProName()); - tjOrderRemark.setDeptId(projectss.getDeptId()); - tjOrderRemark.setTjNumber(order.getTjNumber()); - tjOrderRemark.setCreateBy(sysUser.getNickName()); - tjOrderRemark.setCreateTime(new Date()); - tjOrderRemark.setUpdateBy(sysUser.getNickName()); - tjOrderRemark.setUpdateTime(new Date()); - tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId())); - tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId())); - orderRemarkService.save(tjOrderRemark); + if (null != projectss && projectss.getProParentId()==0L) { + projectList.add(projectss); } + + } // List<Long> proIds = projectService.getTjProjectListBySoneId(tjProId).stream().map(TjProject::getProId).collect(Collectors.toList()); TjOrderDetail detail = new TjOrderDetail(); detail.setTjStatus(0L); detail.setOrderId(tjFlowingWater.getOrderId()); - detail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); +// detail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); detail.setProId(Long.valueOf(tjProId)); detail.setIsAddition("Y"); detail.setCreateBy(sysUser.getNickName()); - detail.setCreateTime(new Date()); + detail.setCreateTime(dates); detail.setUpdateBy(sysUser.getNickName()); - detail.setUpdateTime(new Date()); + detail.setUpdateTime(dates); detail.setCreateId(String.valueOf(sysUser.getUserId())); detail.setUpdateId(String.valueOf(sysUser.getUserId())); tjOrderDetailService.save(detail); -// for (Long proId : proIds) { - TjOrderDetail detail1 = new TjOrderDetail(); - detail1.setTjStatus(0L); - detail1.setOrderId(tjFlowingWater.getOrderId()); - detail1.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); - detail1.setProId(Long.valueOf(tjProId)); - detail1.setIsAddition("Y"); - detail.setCreateBy(sysUser.getNickName()); - detail.setCreateTime(new Date()); - detail.setUpdateBy(sysUser.getNickName()); - detail.setUpdateTime(new Date()); - detail.setCreateId(String.valueOf(sysUser.getUserId())); - detail.setUpdateId(String.valueOf(sysUser.getUserId())); - tjOrderDetailService.save(detail1); -// } + } List<TbTransition> tbTransitionList = transitionService.list(wqq); @@ -586,9 +655,9 @@ tjChargingStandard.setPrice(transition.getNowPrice()); tjChargingStandard.setProName(tjProject.getProName()); tjChargingStandard.setCreateBy(sysUser.getNickName()); - tjChargingStandard.setCreateTime(new Date()); + tjChargingStandard.setCreateTime(dates); tjChargingStandard.setUpdateBy(sysUser.getNickName()); - tjChargingStandard.setUpdateTime(new Date()); + tjChargingStandard.setUpdateTime(dates); tjChargingStandard.setCreateId(String.valueOf(sysUser.getUserId())); tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId())); chargingStandardService.save(tjChargingStandard); @@ -624,6 +693,183 @@ } } } + + if(projectList.size()>0){ + List<TjProject> list = projectList.stream().distinct().collect(Collectors.toList()); + for (TjProject project : list) { + TjOrderRemark tjOrderRemark = new TjOrderRemark(); + tjOrderRemark.setProId(project.getProId()); + tjOrderRemark.setProName(project.getProName()); + tjOrderRemark.setDeptId(project.getDeptId()); + tjOrderRemark.setTjNumber(order.getTjNumber()); + tjOrderRemark.setCreateBy(sysUser.getNickName()); + tjOrderRemark.setCreateTime(dates); + tjOrderRemark.setUpdateBy(sysUser.getNickName()); + tjOrderRemark.setUpdateTime(dates); + tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId())); + tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId())); + orderRemarkService.save(tjOrderRemark); + + TjOrderDetail detail1 = new TjOrderDetail(); + detail1.setTjStatus(0L); + detail1.setOrderId(tjFlowingWater.getOrderId()); +// detail1.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); + detail1.setProId(project.getProId()); + detail1.setIsAddition("Y"); + detail1.setCreateBy(sysUser.getNickName()); + detail1.setCreateTime(dates); + detail1.setUpdateBy(sysUser.getNickName()); + detail1.setUpdateTime(dates); + detail1.setCreateId(String.valueOf(sysUser.getUserId())); + detail1.setUpdateId(String.valueOf(sysUser.getUserId())); + tjOrderDetailService.save(detail1); + if(null !=config && config.equals("Y")){ + //妫�楠� + if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && (project.getDeptId() == 241L || project.getDeptId() == 317L)) { + if (null != project.getHisXmbm()) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + + detailsDto.setMxfyxmbm(project.getHisXmbm()); + + if (project.getSfzhfy().equals("Y")) { + detailsDto.setSfzhfy("1"); + } else { + detailsDto.setSfzhfy("0"); + } + detailsDto.setSl(1); + detailsDtos.add(detailsDto); + } + } + + //妫�鏌� + if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && + (project.getDeptId() == 247L || project.getDeptId() == 248L || project.getDeptId() == 249L || + project.getDeptId() == 250L || project.getDeptId() == 251L || project.getDeptId() == 252L || + project.getDeptId() == 271L || project.getDeptId() == 273L || project.getDeptId() == 274L || + project.getDeptId() == 275L || project.getDeptId() == 298L)) { + if (null != project.getHisXmbm()) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(project.getHisXmbm()); + if (project.getSfzhfy().equals("Y")) { + detailsDto.setSfzhfy("1"); + } else { + detailsDto.setSfzhfy("0"); + } + detailsDto.setSl(1); + detailsDtoss.add(detailsDto); + } + } + + //澶勭疆 + if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && + (project.getDeptId() == 100L || project.getDeptId() == 240L || project.getDeptId() == 253L || + project.getDeptId() == 254L || project.getDeptId() == 255L || project.getDeptId() == 257L || + project.getDeptId() == 258L || project.getDeptId() == 259L || project.getDeptId() == 269L || + project.getDeptId() == 270L)) { + if (null != project.getHisXmbm()) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(project.getHisXmbm()); + if (project.getSfzhfy().equals("Y")) { + detailsDto.setSfzhfy("1"); + } else { + detailsDto.setSfzhfy("0"); + } + detailsDto.setSl(1); + detailDtos.add(detailsDto); + } + } + } + } + } + + if(null !=config && config.equals("Y")){ + + + //妫�楠岀敵璇� + if(detailsDtos.size()>0){ + OutpintestapplyDto dto = new OutpintestapplyDto(); + dto.setHisRegistrationId(order.getCardId()); + dto.setSfjz(customer.getCusIdcard()); + dto.setSqysbm(sysUser.getUserName()); + dto.setMzksbm("0101"); + dto.setSjrq(date); + dto.setCzybm("00029"); + dto.setCzyksbm("0101"); + dto.setSfjz("1"); + dto.setDetails(detailsDtos.stream().distinct().collect(Collectors.toList())); + AjaxResult ajaxResult1 = controller.Outpintestapply(dto); + String result5 = getAjaxResult(ajaxResult1); + JSONObject object3 = getJSONObject(result5); + String code3 = object3.getStr("ResultCode"); + if (code3.equals("0")) { + Map<String, Object> datas = object3.getJSONObject("ResultData"); + datas.put("cardId", order.getCardId()); + JSONObject object4 = JSONUtil.parseObj(datas); + LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpintestapply"); + HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); + hisApiGetMethodService.save(object4, "Outpintestapply", hisApiConfig,JSONUtil.toJsonStr(BeanUtil.beanToMap(dto))); + + } + } + + //闂ㄨ瘖妫�鏌ョ敵璇� + if(detailsDtoss.size()>0){ + OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); + outpinexamapplyDto.setHisRegistrationId(order.getCardId()); + outpinexamapplyDto.setSfzh(customer.getCusIdcard()); + outpinexamapplyDto.setSqysbm(sysUser.getUserName()); + outpinexamapplyDto.setMzksbm("0101"); + outpinexamapplyDto.setCzybm("00029"); + outpinexamapplyDto.setCzyksbm("0101"); + outpinexamapplyDto.setDetails(detailsDtoss.stream().distinct().collect(Collectors.toList())); + AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto); + String result6 = getAjaxResult(ajaxResult2); + JSONObject object5 = getJSONObject(result6); + String code4 = object5.getStr("ResultCode"); + if (code4.equals("0")) { + Map<String, Object> map = object5.getJSONObject("ResultData"); + map.put("cardId", order.getCardId()); + JSONObject jsonObject = JSONUtil.parseObj(map); + LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpinexamapply"); + HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); + hisApiGetMethodService.save(jsonObject, "Outpinexamapply", hisApiConfig,JSONUtil.toJsonStr(BeanUtil.beanToMap(outpinexamapplyDto))); + + } + } + + + //闂ㄨ瘖娌荤枟澶勭疆鐢宠 + if(detailDtos.size()>0){ + OutpintreatapplyDto dao = new OutpintreatapplyDto(); + dao.setHisRegistrationId(order.getCardId()); + dao.setSfzh(customer.getCusIdcard()); + dao.setSqysbm(sysUser.getUserName()); + dao.setMzksbm("0101"); + dao.setSjrq(date); + dao.setCzybm("00029"); + dao.setCzyksbm("0101"); + dao.setDetails(detailDtos.stream().distinct().collect(Collectors.toList())); + AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao); + String mzylyzsq2 = getAjaxResult(mzylyzsq1); + JSONObject mzylyzsq3 = getJSONObject(mzylyzsq2); + String code5 = mzylyzsq3.getStr("ResultCode"); + if (code5.equals("0")) { + Map<String, Object> map = mzylyzsq3.getJSONObject("ResultData"); + map.put("cardId", order.getCardId()); + JSONObject jsonObject = JSONUtil.parseObj(map); + LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpintreatapply"); + HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); + hisApiGetMethodService.save(jsonObject, "Outpintreatapply", hisApiConfig,JSONUtil.toJsonStr(BeanUtil.beanToMap(dao))); + } + } + + + } + + //鐖堕」鑰楁潗 ArrayList<TjConsumables> collect = list2.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TjConsumables::getId))), ArrayList::new)); for (TjConsumables tjConsumables : collect) { @@ -635,9 +881,9 @@ tjChargingStandard.setConsumablesName(tjConsumables.getMakings()); tjChargingStandard.setCompany(tjConsumables.getSpecifications()); tjChargingStandard.setCreateBy(sysUser.getNickName()); - tjChargingStandard.setCreateTime(new Date()); + tjChargingStandard.setCreateTime(dates); tjChargingStandard.setUpdateBy(sysUser.getNickName()); - tjChargingStandard.setUpdateTime(new Date()); + tjChargingStandard.setUpdateTime(dates); tjChargingStandard.setCreateId(String.valueOf(sysUser.getUserId())); tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId())); chargingStandardService.save(tjChargingStandard); @@ -1840,6 +2086,17 @@ return customerList; } + //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡 + public JSONObject getJSONObject(String builder) { + String Response = JSONUtil.parseObj(builder).getStr("Response"); + return JSONUtil.parseObj(Response); + } + + //鑾峰彇鏂规硶杩斿洖鍊间俊鎭� + public String getAjaxResult(AjaxResult result) { + return result.get("data").toString(); + } + //鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏 private List<Map<String, Object>> getAjaxResult(String tjNumber) { List<Map<String, Object>> list = new ArrayList<>(); -- Gitblit v1.8.0