From 2ece722bfafa27e3ef5dd5e060ee0624e6f263a6 Mon Sep 17 00:00:00 2001 From: zjh <zjh@888> Date: 星期三, 19 六月 2024 19:20:14 +0800 Subject: [PATCH] zjh 本地 2024/06/19 --3 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 672 +++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 444 insertions(+), 228 deletions(-) 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 1756b81..e263826 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 @@ -4,11 +4,14 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; import java.time.OffsetTime; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.List; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; +import java.util.concurrent.*; import java.util.stream.Collectors; import java.util.stream.Stream; import javax.annotation.Resource; @@ -22,17 +25,24 @@ import cn.hutool.extra.pinyin.PinyinUtil; import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.databind.BeanProperty; +import com.itextpdf.text.Document; +import com.itextpdf.text.DocumentException; import com.ltkj.common.core.domain.entity.SysDept; import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.core.redis.RedisCache; import com.ltkj.common.enums.DataSourceType; +import com.ltkj.common.utils.PDFDocumentUtil; import com.ltkj.common.utils.SecurityUtils; import com.ltkj.framework.config.MatchUtils; +import com.ltkj.framework.config.ThreadPoolConfig; import com.ltkj.framework.config.UserHoder; import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; import com.ltkj.hosp.domain.*; +import com.ltkj.hosp.dto.QianDaoDto; import com.ltkj.hosp.mapper.TestMapper; import com.ltkj.hosp.service.*; import com.ltkj.hosp.sqlDomain.LtkjMiddleDetail; @@ -51,6 +61,9 @@ import com.ltkj.system.service.ISysConfigService; import com.ltkj.system.service.ISysDeptService; import com.ltkj.system.service.ISysUserService; +import com.ltkj.web.controller.his.HisApiGetMethodService; +import com.ltkj.web.controller.his.HisApiMethod; +import com.ltkj.web.controller.his.HisMzJysqController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -59,8 +72,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpRequest; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.util.DigestUtils; import org.springframework.web.bind.annotation.*; import com.ltkj.common.annotation.Log; @@ -158,7 +173,16 @@ private LtkjMiddleHeadService headService; @Resource private TjvLtkjvtjpatService tjvLtkjvtjpatService; + @Autowired + private ThreadPoolConfig threadPoolConfig; + @Autowired + private HisApiMethod hisApiMethod; + + @Autowired + private HisMzJysqController hisMzJysqController; + @Autowired + private HisApiGetMethodService hisApiGetMethodService; /** @@ -821,26 +845,29 @@ LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); wq.eq(TjCustomer::getCusId, tjOrder.getUserId()); TjCustomer tjCustomer = tjCustomerService.getOne(wq); - if (tjCustomer == null) return AjaxResult.error("璇ュ鎴锋湭鐧昏鎴栦笉瀛樺湪"); + if (tjCustomer == null) return AjaxResult.error("璇ュ鎴锋湭鐧昏"); LambdaQueryWrapper<TjOrder> wqq = new LambdaQueryWrapper<>(); wqq.eq(TjOrder::getUserId, tjOrder.getUserId()); wqq.eq(TjOrder::getCheckStatus, 0); wqq.isNull(TjOrder::getFinishTime); - if (!tjCustomer.getCardId().equals("0")) { - wqq.eq(TjOrder::getCardId, tjCustomer.getCardId()); - } +// if (!tjCustomer.getCardId().equals("0")) { + wqq.eq(TjOrder::getCardId, tjCustomer.getCardId()); +// } TjOrder order = tjOrderService.getOne(wqq); if (null != order) { - transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(), tjCustomer.getCardId()); + transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(),tjCustomer.getCardId()); return AjaxResult.error("涓嶅彲閲嶅鐧昏"); } + + LambdaQueryWrapper<TjReservation> wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjReservation::getIdCard, tjCustomer.getCusIdcard()); wq1.eq(TjReservation::getIsExpire, 2); TjReservation tjReservation = tjReservationService.getOne(wq1); MallOrder mallOrder = null; - if (tjReservation != null) { + if (null != tjReservation) { + tjOrder.setReservationId(tjReservation.getId()); mallOrder = mallOrderService.getOne(new LambdaQueryWrapper<MallOrder>().eq(MallOrder::getReservationId, tjReservation.getId())); if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) { return AjaxResult.error("鏈埌棰勭害鏃堕棿"); @@ -895,6 +922,7 @@ tjOrder.setStatus(TjConstants.TJ_BEGIN); tjOrder.setCardId(tjCustomer.getCardId()); if (tjOrderService.save(tjOrder)) { + //淇濆瓨鏀惰揣鍦板潃 if ("2".equals(tjOrder.getGetType())) { final TjReportGetAddress address = tjOrder.getAddAddress(); @@ -956,8 +984,7 @@ mallOrder.setOrderStatus(301L); mallOrderService.updateById(mallOrder); } - } - else { + } else { tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith()); tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn()); tjFlowingWater.setDiscount(tjOrder.getTjFlowingWater().getDiscount()); @@ -1003,22 +1030,37 @@ // // } // } - tjCustomer.setCardId("0"); + + + /*璋冪敤his鎺ュ彛*/ + String config = configService.selectConfigByKey("sfkqdyhis"); + if(null !=config && config.equals("Y")){ + AjaxResult result = hisApiMethod.HisApiMethods(tjCustomer, tjOrder.getOrderId()); + if(!result.get("code").toString().equals("200")){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("鎸傚彿澶辫触!"+result.get("msg").toString()); + } + }else { + tjCustomer.setCardId(tjOrder.getTjNumber()); tjCustomerService.updateById(tjCustomer); + transitionService.updateCardIdByTjNumAndIdCard(tjCustomer.getCusIdcard(),tjOrder.getTjNumber(),tjOrder.getTjNumber()); + tjOrder.setCardId(tjOrder.getTjNumber()); + tjOrderService.updateById(tjOrder); + } return AjaxResult.success(tjNumber); } return AjaxResult.error(); } - @PostMapping("/addPlOrderAndDetail") @ApiOperation(value = "浣撴鎵归噺绛惧埌鐧昏鎺ュ彛") @Transactional //(鍒囨崲鏁版嵁搴撳嚭閿欙紝鎵�浠ユ敞閲�) - public AjaxResult addPlOrderAndDetail(@RequestBody List<String> cusIds){ - SysUser sysUser = UserHoder.getLoginUser().getUser(); - if(null !=cusIds && cusIds.size()>0){ - + public AjaxResult addPlOrderAndDetail(@RequestBody QianDaoDto daoDto,HttpServletResponse response) { + SysUser sysUser = UserHoder.getLoginUser().getUser(); + List<String> cusIds = daoDto.getCusIds(); + ArrayList<String> tjNumbers = new ArrayList<>(); + if (null != cusIds && cusIds.size() > 0) { ExecutorService threadPools = Executors.newFixedThreadPool(cusIds.size()); for (String cusId : cusIds) { threadPools.execute(new Runnable() { @@ -1029,24 +1071,81 @@ }); } LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); - wq.in(TjCustomer::getCusIdcard,cusIds); + wq.in(TjCustomer::getCusIdcard, cusIds); List<Long> list = tjCustomerService.list(wq).stream().map(TjCustomer::getCusId).collect(Collectors.toList()); - if(list.size()>0){ - ExecutorService threadPool = Executors.newFixedThreadPool(list.size()); + if (list.size() > 0) { +// ExecutorService threadPool = Executors.newFixedThreadPool(list.size()); + ThreadPoolTaskExecutor executor = threadPoolConfig.threadPoolTaskExecutor(); for (Long aLong : list) { - threadPool.execute(new Runnable() { +// threadPool.execute(new Runnable() { +// @Override +// public void run() { +// try { +// AjaxResult result = getAjaxResult(aLong, sysUser, daoDto.getTjCategory()); +// threadPool.shutdown(); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } +// }); + Future<AjaxResult> future = executor.submit(new Callable<AjaxResult>() { @Override - public void run() { - try { - getAjaxResult(aLong,sysUser); - threadPool.shutdown(); - } catch (IOException e) { - e.printStackTrace(); - } + public AjaxResult call() throws Exception { + return getAjaxResult(aLong, sysUser, daoDto.getTjCategory()); } }); + try { + AjaxResult result = future.get(); + String tjNumber = result.get("tjNumber").toString(); + tjNumbers.add(tjNumber); + } catch (InterruptedException | ExecutionException e) { + e.printStackTrace(); + } + } + threadPools.shutdown(); + } + } + // TODO 鍥犱负鏈変綋妫�鍙蜂細鏌ュ嚭绌烘暟鎹� 鍏堜娇鐢ㄦ鏁版嵁 + tjNumbers = new ArrayList<>(); + tjNumbers.add("02095240229171627"); + tjNumbers.add("02095240229173104"); + tjNumbers.add("10001240524172002"); + tjNumbers.add("10001240304124410"); + tjNumbers.add("00325240304160123"); + tjNumbers.add("02095240304162044"); + tjNumbers.add("02095240304162152"); + tjNumbers.add("10001240304163505"); + Map<String, Object> map = null; + try { + map = PDFDocumentUtil.getDocument(); + Document document = (Document) map.get("document"); + for (int i = 0; i < tjNumbers.size(); i++) { + try { + List<Map<String, String>> djdInfos = tjOrderService.selectDjdInfo(tjNumbers.get(i)); + Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumbers.get(i)); + LocalDateTime tjsj = (LocalDateTime) userInfo.get("tjsj"); + DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); + String time = null; + if (tjsj != null) { + time = dateFormat.format(tjsj); + } + PDFDocumentUtil.makeUserInfoTable(document, (String) userInfo.get("tjname"), (String) userInfo.get("sex") + , (String) userInfo.get("tjh"), (String) userInfo.get("lxdh"), (String) userInfo.get("tjname"), time); + PDFDocumentUtil.makeTjInfo(document, djdInfos); + // 澶氭潯鍒欐崲椤� + if (i + 1 < tjNumbers.size()) { + document.newPage(); + } + } catch (DocumentException | IOException e) { + e.printStackTrace(); } } + document.close(); + ByteArrayOutputStream outputStream = (ByteArrayOutputStream) map.get("stream"); + String encodeToString = java.util.Base64.getEncoder().encodeToString(outputStream.toByteArray()); + return AjaxResult.success().put("file", encodeToString); + } catch (IOException | DocumentException e) { + e.printStackTrace(); } return AjaxResult.success("鎿嶄綔鎴愬姛"); } @@ -1055,27 +1154,27 @@ if (!"".equals(cusIdcard) && cusIdcard != null) { //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); - if ("Y".equals(getInfoFromSqlData)){ + if ("Y".equals(getInfoFromSqlData)) { //鏍规嵁韬唤璇佸彿浠巋is鏌ヤ俊鎭� LtkjTjPat tjPatByIdCard = testMapper.getTjPatByIdCard(cusIdcard); - if(null != tjPatByIdCard){ + if (null != tjPatByIdCard) { String fcardNo = tjPatByIdCard.getFcardNo(); - if(null !=fcardNo && !fcardNo.equals("")){ - fcardNo=fcardNo.trim(); + if (null != fcardNo && !fcardNo.equals("")) { + fcardNo = fcardNo.trim(); tjPatByIdCard.setFcardNo(fcardNo); - }else { - fcardNo=cusIdcard.trim(); + } else { + fcardNo = cusIdcard.trim(); tjPatByIdCard.setFcardNo(fcardNo); } //鏍规嵁韬唤璇佸彿浠庢暟鎹簱鎷夸俊鎭� 娌℃湁鐨勮瘽淇濆瓨 LtkjTjPat ltkjTjPat = tjvLtkjvtjpatService.getLtkjTjPatByCusIdCard(cusIdcard); - if(null==ltkjTjPat){ + if (null == ltkjTjPat) { tjvLtkjvtjpatService.save(tjPatByIdCard); } DynamicDataSourceContextHolder.clearDataSourceType(); //鍐嶆牴鎹韩浠借瘉鍙峰啓customer琛� TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(tjPatByIdCard.getFcardNo()); - if(null == tjCustomer){ + if (null == tjCustomer) { //涓虹┖鐨勮瘽鎺夊瓨鍌ㄨ繃绋嬩繚瀛樺埌瀹㈡埛琛� testMapper.getTjPatByCusId(cusIdcard); LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>(); @@ -1083,11 +1182,11 @@ TjCustomer customer = tjCustomerService.getOne(qw); customer.setReservationId(customer.getCardId()); extracteds(customer); - }else { + } else { String cardId = tjPatByIdCard.getFcardId(); - if(null !=cardId && !cardId.equals("0")){ + if (null != cardId && !cardId.equals("0")) { int i = tjOrderService.selectTjOrderByCardId(cardId); - if(i>0){ + if (i > 0) { // return AjaxResult.error("涓嶅彲閲嶅绛惧埌"); } } @@ -1105,14 +1204,14 @@ wq.eq(TjReservation::getIsExpire, 2); TjReservation tjReservation = tjReservationService.getOne(wq); if (tjReservation != null) { - if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) { +/* if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) { // return AjaxResult.error("鏈埌棰勭害鏃堕棿"); } if (null != tjReservation.getReservationTime() && DateUtil.endOfDay(tjReservation.getReservationTime()).before(new Date())) { tjReservation.setIsExpire(1); tjReservationService.updateById(tjReservation); // return AjaxResult.error("瀵逛笉璧锋偍鐨勯绾﹀凡瓒呮椂璇烽噸鏂伴绾�"); - } + }*/ LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>(); qw.eq(TjCustomer::getCusIdcard, cusIdcard); TjCustomer tjCustomer1 = tjCustomerService.getOne(qw); @@ -1131,56 +1230,50 @@ tjCustomer1.setAgeUnit(tjReservation.getAgeUnit()); tjCustomer1.setCareer(tjReservation.getCareer()); tjCustomerService.updateById(tjCustomer1); + } else { + TjCustomer tjCustomer = new TjCustomer(); + tjCustomer.setCusIdcard(tjReservation.getIdCard()); + tjCustomer.setCusName(tjReservation.getName()); + tjCustomer.setCusSex(Long.valueOf(tjReservation.getSex())); + tjCustomer.setCusBrithday(tjReservation.getBirthday()); + tjCustomer.setCusPhone(tjReservation.getPhoe()); + tjCustomer.setCusEmail(tjReservation.getEmail()); + tjCustomer.setCusAddr(tjReservation.getAddress()); + tjCustomer.setCusMarryStatus(String.valueOf(tjReservation.getMarriage())); + tjCustomer.setCusNational(String.valueOf(tjReservation.getNation())); + tjCustomer.setIdType(tjReservation.getIdType()); + tjCustomer.setAge(tjReservation.getAge()); + tjCustomer.setAgeUnit(tjReservation.getAgeUnit()); + tjCustomer.setCareer(tjReservation.getCareer()); + tjCustomer.setDwPhone(tjReservation.getDwPhone()); + tjCustomer.setCardId(tjReservation.getCardId()); + tjCustomer.setIndexCard(tjReservation.getIndexCard()); + //鎴彇瀵嗙爜鑷姩鐢熸垚set杩涘幓 + String substring = cusIdcard.substring(cusIdcard.length() - 6); + substring = DigestUtils.md5DigestAsHex(substring.getBytes()); + tjCustomer.setCusPassword(substring); + tjCustomer.setTjType(tjReservation.getTjType()); + tjCustomerService.save(tjCustomer); } - TjCustomer tjCustomer = new TjCustomer(); - tjCustomer.setCusIdcard(tjReservation.getIdCard()); - tjCustomer.setCusName(tjReservation.getName()); - tjCustomer.setCusSex(Long.valueOf(tjReservation.getSex())); - tjCustomer.setCusBrithday(tjReservation.getBirthday()); - tjCustomer.setCusPhone(tjReservation.getPhoe()); - tjCustomer.setCusEmail(tjReservation.getEmail()); - tjCustomer.setCusAddr(tjReservation.getAddress()); - tjCustomer.setCusMarryStatus(String.valueOf(tjReservation.getMarriage())); - tjCustomer.setCusNational(String.valueOf(tjReservation.getNation())); - - tjCustomer.setIdType(tjReservation.getIdType()); - tjCustomer.setAge(tjReservation.getAge()); - tjCustomer.setAgeUnit(tjReservation.getAgeUnit()); - tjCustomer.setCareer(tjReservation.getCareer()); - tjCustomer.setDwPhone(tjReservation.getDwPhone()); - tjCustomer.setCardId(tjReservation.getCardId()); - tjCustomer.setIndexCard(tjReservation.getIndexCard()); - - //鎴彇瀵嗙爜鑷姩鐢熸垚set杩涘幓 - String substring = cusIdcard.substring(cusIdcard.length() - 6); - substring = DigestUtils.md5DigestAsHex(substring.getBytes()); - tjCustomer.setCusPassword(substring); - tjCustomer.setTjType(tjReservation.getTjType()); - tjCustomerService.save(tjCustomer); -// return success(tjCustomer); } -// LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>(); -// qw.eq(TjCustomer::getCusIdcard, cusIdcard); -// TjCustomer tjCustomer = tjCustomerService.getOne(qw); -// return AjaxResult.success("鏆傛棤棰勭害淇℃伅",tjCustomer); + } -// return error("韬唤璇佸彿涓嶅瓨鍦�"); } private void extracteds(TjCustomer customer) { //浠巋is琛ㄦ姄鏁版嵁 LtkjMiddleHead pat = testMapper.getMiddleHeadByPartId(customer.getCardId()); if (null != pat) { - LambdaQueryWrapper<LtkjMiddleHead> wq1=new LambdaQueryWrapper<>(); - wq1.eq(LtkjMiddleHead::getFeadId,customer.getCardId()); + LambdaQueryWrapper<LtkjMiddleHead> wq1 = new LambdaQueryWrapper<>(); + wq1.eq(LtkjMiddleHead::getFeadId, customer.getCardId()); headService.remove(wq1); - LambdaQueryWrapper<LtkjMiddleDetail> wq0=new LambdaQueryWrapper<>(); - wq0.eq(LtkjMiddleDetail::getFheadId,pat.getFeadId()); + LambdaQueryWrapper<LtkjMiddleDetail> wq0 = new LambdaQueryWrapper<>(); + wq0.eq(LtkjMiddleDetail::getFheadId, pat.getFeadId()); middleDetailService.remove(wq0); List<LtkjMiddleDetail> list = testMapper.getMiddleDetailByFeadId(pat.getFeadId()); DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); LtkjMiddleHead o = headService.getMiddleHeadByPartId(customer.getCardId()); - if(o==null){ + if (o == null) { headService.save(pat); for (LtkjMiddleDetail ltkjMiddleDetail : list) { middleDetailService.save(ltkjMiddleDetail); @@ -1191,15 +1284,15 @@ DynamicDataSourceContextHolder.clearDataSourceType(); } - private AjaxResult getAjaxResult(Long userId,SysUser sysUser) throws IOException { + private AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory) throws IOException { LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); - wq.eq(TjCustomer::getCusId,userId); + wq.eq(TjCustomer::getCusId, userId); TjCustomer tjCustomer = tjCustomerService.getOne(wq); if (tjCustomer == null) return AjaxResult.error("璇ュ鎴锋湭鐧昏鎴栦笉瀛樺湪"); LambdaQueryWrapper<TjOrder> wqq = new LambdaQueryWrapper<>(); - wqq.eq(TjOrder::getUserId,userId); + wqq.eq(TjOrder::getUserId, userId); wqq.eq(TjOrder::getCheckStatus, 0); wqq.isNull(TjOrder::getFinishTime); if (!tjCustomer.getCardId().equals("0")) { @@ -1210,14 +1303,21 @@ transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(), tjCustomer.getCardId()); return AjaxResult.error("涓嶅彲閲嶅鐧昏"); } - TjOrder tjOrder=new TjOrder(); + TjOrder tjOrder = new TjOrder(); + Date date = new Date(); + tjOrder.setCreateTime(date); + tjOrder.setUpdateTime(date); + tjOrder.setCreateBy(sysUser.getNickName()); + tjOrder.setUpdateBy(sysUser.getNickName()); tjOrder.setUserId(userId); + tjOrder.setTjCategory(tjCategory); LambdaQueryWrapper<TjReservation> wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjReservation::getIdCard, tjCustomer.getCusIdcard()); wq1.eq(TjReservation::getIsExpire, 2); TjReservation tjReservation = tjReservationService.getOne(wq1); MallOrder mallOrder = null; if (tjReservation != null) { + tjOrder.setReservationId(tjReservation.getId()); mallOrder = mallOrderService.getOne(new LambdaQueryWrapper<MallOrder>().eq(MallOrder::getReservationId, tjReservation.getId())); if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) { return AjaxResult.error("鏈埌棰勭害鏃堕棿"); @@ -1239,149 +1339,110 @@ } tjReservation.setIsExpire(1); tjReservationService.updateById(tjReservation); - if (null != tjReservation.getTeamNo()) { - tjOrder.setTjType("1"); - } else { - tjOrder.setTjType("2"); - } - } - //鐢熸垚浣撴鍙� - String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date())); - tjOrder.setTjNumber(tjNumber); - if (null != tjOrder.getPhoto()) { - File file = new File(tjOrder.getPhoto()); - if (file.isFile()) { - FileInputStream fileInputStream = new FileInputStream(file); - byte[] bytes = new byte[fileInputStream.available()]; - fileInputStream.read(bytes); // 璇诲彇鍒� byte 閲岄潰 - fileInputStream.close(); - // 寰楀埌鏂囦欢 涔嬪悗杞垚beye 鐒跺悗浣跨敤base64杞爜 - String encode = Base64.encode(bytes); - tjOrder.setPhoto(encode); - } - } - if (tjOrder.getFirmId() == null) { - tjOrder.setFirmId("0"); - } - if (null == tjOrder.getPacId() && null != transitionService.getTbTransitionPacIdByCusIdAndPac(String.valueOf(tjOrder.getUserId()))) { - tjOrder.setPacId(transitionService.getTbTransitionPacIdByCusIdAndPac(String.valueOf(tjOrder.getUserId()))); - } - //鍒ゆ柇灏忕▼搴忎笂棰勭害鏄惁浠橀挶 - if (null != mallOrder) tjOrder.setMallOrderId(String.valueOf(mallOrder.getId())); - tjOrder.setStatus(TjConstants.TJ_BEGIN); - tjOrder.setCardId(tjCustomer.getCardId()); - if (tjOrderService.save(tjOrder)) { - //淇濆瓨鏀惰揣鍦板潃 - if ("2".equals(tjOrder.getGetType())) { - final TjReportGetAddress address = tjOrder.getAddAddress(); - if (address != null) { - address.setTjNumber(tjNumber); - tjReportGetAddressService.save(address); + + //鐢熸垚浣撴鍙� + String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date())); + + tjNumber = tjNumber.replaceAll(".{4}$", userId.toString().substring(userId.toString().length() - 4)); + + tjOrder.setTjNumber(tjNumber); + if (null != tjOrder.getPhoto()) { + File file = new File(tjOrder.getPhoto()); + if (file.isFile()) { + FileInputStream fileInputStream = new FileInputStream(file); + byte[] bytes = new byte[fileInputStream.available()]; + fileInputStream.read(bytes); // 璇诲彇鍒� byte 閲岄潰 + fileInputStream.close(); + // 寰楀埌鏂囦欢 涔嬪悗杞垚beye 鐒跺悗浣跨敤base64杞爜 + String encode = Base64.encode(bytes); + tjOrder.setPhoto(encode); } } - Long cusNumber = tjCustomer.getCusNumber(); - cusNumber += 1; - tjCustomer.setCusNumber(cusNumber); -// BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount())).divide(BigDecimal.valueOf(10)); - TjFlowingWater tjFlowingWater = new TjFlowingWater(); - tjFlowingWater.setPayStasus(0L); - if ("1".equals(tjOrder.getTjType())) { - if (null != tjReservation && tjReservation.getPayType() == 1) { - tjFlowingWater.setPayStasus(3L); - } + if (tjOrder.getFirmId() == null) { + tjOrder.setFirmId("0"); } - - //璋冪敤SQL server鎷垮彇鏀惰垂鎯呭喌 - //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 - String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); - String isPay = configService.selectConfigByKey("isPay"); - if ("Y".equals(getInfoFromSqlData)) { - LtkjMiddleHead middleHead = headService.getMiddleHeadByPartId(tjCustomer.getCardId()); - if (null != middleHead) { - tjFlowingWater.setPayStasus(1L); - } + if (null == tjOrder.getPacId() && null != transitionService.getTbTransitionPacIdByCusIdAndPac(String.valueOf(tjOrder.getUserId()))) { + tjOrder.setPacId(transitionService.getTbTransitionPacIdByCusIdAndPac(String.valueOf(tjOrder.getUserId()))); } - tjFlowingWater.setOrderId(tjOrder.getOrderId()); - Date date1 = new Date(System.currentTimeMillis()); - String s1 = sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmssSSS").format(date1); - tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(tjCustomer.getCusName(), "").toUpperCase() + s1); + //鍒ゆ柇灏忕▼搴忎笂棰勭害鏄惁浠橀挶 + if (null != mallOrder) tjOrder.setMallOrderId(String.valueOf(mallOrder.getId())); + tjOrder.setStatus(TjConstants.TJ_BEGIN); + tjOrder.setCardId(tjCustomer.getCardId()); + tjOrder.setTjType("1"); + if (tjOrderService.save(tjOrder)) { -// tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith()); -// tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn()); -// tjFlowingWater.setDiscount(tjOrder.getTjFlowingWater().getDiscount()); - - if (isPay.equals("true")) { - if (null != mallOrder) { - if (mallOrder.getOrderStatus().equals(201L)) { - tjFlowingWater.setCopeWith(mallOrder.getActualPrice()); - tjFlowingWater.setPaidIn(mallOrder.getActualPrice()); - tjFlowingWater.setDiscount(String.valueOf(1)); - tjFlowingWater.setPayStasus(1L); - tjFlowingWater.setPayType(3L); - MallCheckLog checkLog = new MallCheckLog(); - checkLog.setCheckBy(sysUser.getNickName()); - checkLog.setUserId(mallOrder.getUserId()); - checkLog.setConsignee(mallOrder.getConsignee()); - checkLog.setIdCard(mallOrder.getIdCard()); - checkLog.setOrderId(String.valueOf(mallOrder.getId())); - checkLog.setOrderSn(mallOrder.getOrderSn()); - checkLog.setCheckTime(new Date()); - checkLog.setShipSn("HX" + s1); - mallCheckLogService.save(checkLog); - mallOrder.setOrderStatus(301L); - mallOrderService.updateById(mallOrder); + //淇濆瓨鏀惰揣鍦板潃 + if ("2".equals(tjOrder.getGetType())) { + final TjReportGetAddress address = tjOrder.getAddAddress(); + if (address != null) { + address.setTjNumber(tjNumber); + tjReportGetAddressService.save(address); } } - else { -// tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith()); -// tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn()); -// tjFlowingWater.setDiscount(tjOrder.getTjFlowingWater().getDiscount()); -// tjFlowingWater.setPayStasus(0L); + Long cusNumber = tjCustomer.getCusNumber(); + cusNumber += 1; + tjCustomer.setCusNumber(cusNumber); +// BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount())).divide(BigDecimal.valueOf(10)); + TjFlowingWater tjFlowingWater = new TjFlowingWater(); + tjFlowingWater.setPayStasus(0L); + if ("1".equals(tjOrder.getTjType())) { + if (tjReservation.getPayType() == 1) { + tjFlowingWater.setPayStasus(3L); + } } - } - if (tjFlowingWaterService.save(tjFlowingWater)) { - tjOrder.setTjSerialNumber(String.valueOf(tjFlowingWater.getTjSerialNumber())); - tjOrderService.updateById(tjOrder); + + //璋冪敤SQL server鎷垮彇鏀惰垂鎯呭喌 + //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 + String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); + String isPay = configService.selectConfigByKey("isPay"); + if ("Y".equals(getInfoFromSqlData)) { + LtkjMiddleHead middleHead = headService.getMiddleHeadByPartId(tjCustomer.getCardId()); + if (null != middleHead) { + tjFlowingWater.setPayStasus(1L); + } + } + tjFlowingWater.setOrderId(tjOrder.getOrderId()); + Date date1 = new Date(System.currentTimeMillis()); + String s1 = sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmssSSS").format(date1); + tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(tjCustomer.getCusName(), "").toUpperCase() + s1); + + if (isPay.equals("true")) { + if (null != mallOrder) { + if (mallOrder.getOrderStatus().equals(201L)) { + tjFlowingWater.setCopeWith(mallOrder.getActualPrice()); + tjFlowingWater.setPaidIn(mallOrder.getActualPrice()); + tjFlowingWater.setDiscount(String.valueOf(1)); + tjFlowingWater.setPayStasus(1L); + tjFlowingWater.setPayType(3L); + MallCheckLog checkLog = new MallCheckLog(); + checkLog.setCheckBy(sysUser.getNickName()); + checkLog.setUserId(mallOrder.getUserId()); + checkLog.setConsignee(mallOrder.getConsignee()); + checkLog.setIdCard(mallOrder.getIdCard()); + checkLog.setOrderId(String.valueOf(mallOrder.getId())); + checkLog.setOrderSn(mallOrder.getOrderSn()); + checkLog.setCheckTime(new Date()); + checkLog.setShipSn("HX" + s1); + mallCheckLogService.save(checkLog); + mallOrder.setOrderStatus(301L); + mallOrderService.updateById(mallOrder); + } + } + } + if (tjFlowingWaterService.save(tjFlowingWater)) { + tjOrder.setTjSerialNumber(String.valueOf(tjFlowingWater.getTjSerialNumber())); + tjOrderService.updateById(tjOrder); - } - - //鍥綋 -// if ("1".equals(tjOrder.getTjType())) { + } asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater); -// } - //涓汉 -// if ("2".equals(tjOrder.getTjType())) { -// //asyncService.newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); -// newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); -// } - //璋冪敤SQL server鎷垮彇鏀惰垂鎯呭喌 - //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 -// final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); -// if ("Y".equals(getInfoFromSqlData)){ -// List<LtkjMiddleHead> one = testMapper.saveMiddleHeadByPatId(tjCustomer.getCusIdcard()); -// if (one!=null){ -// for (LtkjMiddleHead ltkjMiddleHead : one) { -// DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); -// headService.save(ltkjMiddleHead); -// DynamicDataSourceContextHolder.clearDataSourceType(); -// List<LtkjMiddleDetail> detailList = testMapper.getMiddleDetailByHeadId(ltkjMiddleHead.getFeadId()); -// if (detailList!=null){ -// for (LtkjMiddleDetail ltkjMiddleDetail : detailList) { -// DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); -// middleDetailService.save(ltkjMiddleDetail); -// DynamicDataSourceContextHolder.clearDataSourceType(); -// } -// } -// } -// -// } -// } - tjCustomer.setCardId("0"); - tjCustomerService.updateById(tjCustomer); - return AjaxResult.success(tjNumber); + + tjCustomer.setCardId("0"); + tjCustomerService.updateById(tjCustomer); + return AjaxResult.success().put("tjNumber",tjNumber); + } } return AjaxResult.error(); } @@ -1479,16 +1540,16 @@ if (null != ppList && ppList.size() > 0) { //寮傛淇濆瓨鏁版嵁搴� // asyncService.addRedisTransitionPac(cusId, pacId, ppList); - asyncService.saveRedisTransitionByPacId(cusId, pacId, null); + asyncService.saveRedisTransitionByPacId(cusId,cardId, pacId, null); for (TjPackageProject tjPackageProject : ppList) { TjProject project = projectService.getTjProjectById(String.valueOf(tjPackageProject.getProId())); if (null != project) { BigDecimal divide = BigDecimal.valueOf(0); - if(tjPackageProject.getPriceNow().compareTo(BigDecimal.valueOf(0))==0 || project.getProPrice().compareTo(BigDecimal.valueOf(0))==0 ){ - divide=BigDecimal.valueOf(0); - }else { - divide=tjPackageProject.getPriceNow().divide(project.getProPrice(), 5, RoundingMode.HALF_DOWN); + if (tjPackageProject.getPriceNow().compareTo(BigDecimal.valueOf(0)) == 0 || project.getProPrice().compareTo(BigDecimal.valueOf(0)) == 0) { + divide = BigDecimal.valueOf(0); + } else { + divide = tjPackageProject.getPriceNow().divide(project.getProPrice(), 5, RoundingMode.HALF_DOWN); } List<TjProject> tjProSonList = projectService.getTjProjectListBySoneId(String.valueOf(project.getProId())); if (null != tjProSonList && tjProSonList.size() > 0) { @@ -1524,7 +1585,7 @@ //鍗曢」 if (null != proIds && proIds.size() > 0) { //寮傛淇濆瓨鏁版嵁搴撹〃 - asyncService.saveRedisTransitionByPacId(cusId, null, proIds); + asyncService.saveRedisTransitionByPacId(cusId,cardId,null, proIds); for (Long proId : proIds) { List<TbTransition> transitions = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId)); if (null != transitions && transitions.size() > 0) { @@ -1632,7 +1693,7 @@ for (TjOrder order : list) { TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); if (null != tjCustomer) { - order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); + order.setTjCustomerName(tjCustomer.getCusName()); order.setTjCustomerSex(tjCustomer.getCusSex()); order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); @@ -1686,7 +1747,7 @@ for (TjOrder order : list) { TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); if (null != tjCustomer) { - order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); + order.setTjCustomerName(tjCustomer.getCusName()); order.setTjCustomerSex(tjCustomer.getCusSex()); order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); @@ -1748,6 +1809,7 @@ */ @PostMapping("/tjGoOut") @ApiOperation(value = "浣撴绛剧") + @Transactional public AjaxResult tjGoOut(@RequestBody Map<String, Object> map) { Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); SysUser sysUser = userService.getById(userId); @@ -1755,6 +1817,7 @@ String jsonString = com.alibaba.fastjson.JSON.toJSONString(domainVos1); List<QjDomainVo> domainVos = com.alibaba.fastjson.JSON.parseArray(jsonString, QjDomainVo.class); String tjNumber = map.get("tjNumber").toString(); + TjOrder tjOrder = tjOrderService.getOrderByTjNum(tjNumber); if (null != domainVos && domainVos.size() > 0) { Set<String> list = new HashSet<>(); for (QjDomainVo domainVo : domainVos) { @@ -1768,7 +1831,6 @@ if (domainVo.getType() == 3) { list.add(String.valueOf(domainVo.getTjNumber())); } else { - TjOrder tjOrder = tjOrderService.getOrderByTjNum(remark.getTjNumber()); if (null != tjOrder) { tjOrder.setFinishTime(new Date()); tjOrder.setStatus(TjConstants.TJ_CONFIRM); @@ -1778,6 +1840,11 @@ } } asyncService.tjGoutAsync(domainVos, sysUser, list); + + TjCustomer customer = tjCustomerService.selectTjCustomerByCusId(tjOrder.getUserId()); + customer.setCardId("0"); + tjCustomerService.updateById(customer); + return AjaxResult.success("绛剧鎴愬姛锛�"); } else { return getAjaxResult(tjNumber); @@ -1790,6 +1857,7 @@ */ @GetMapping("/goOut") @ApiOperation(value = "绛剧") + @Transactional public AjaxResult goOut(@RequestParam @ApiParam(value = "浣撴鍙�") String tjNumber) { return getAjaxResult(tjNumber); } @@ -1840,7 +1908,7 @@ // if (redisCache.hasKey(cardId + cusId)) { // transitionList = redisCache.getCacheList(cardId + cusId); // } else { - transitionList = transitionService.getTbTransitionListByCusId(cusId, cardId); + transitionList = transitionService.getTbTransitionListByCusId(cusId, cardId); // } if (null == transitionList) return null; Map<Long, List<TbTransition>> collect = transitionList.stream().collect(Collectors.groupingBy(TbTransition::getParentProId)); @@ -1860,7 +1928,7 @@ // } else { // map.put("nowPrice", tjProject.getProPrice()); // } - map.put("nowPrice",transitionService.getTbTransitionDxPriceByPac(cusId,entry.getKey(),cardId,pacId)); + map.put("nowPrice", transitionService.getTbTransitionDxPriceByPac(cusId, entry.getKey(), cardId, pacId)); } else { map.put("pacName", "鍗曢」"); List<TbTransition> tbTransitionList = entry.getValue(); @@ -1886,13 +1954,17 @@ LambdaQueryWrapper<TjOrder> wq0 = new LambdaQueryWrapper<>(); wq0.eq(TjOrder::getTjNumber, tjNumber); TjOrder tjOrder = tjOrderService.getOne(wq0); + if (null != tjOrder) { + TjCustomer customer = tjCustomerService.selectTjCustomerByCusId(tjOrder.getUserId()); + customer.setCardId("0"); + tjCustomerService.updateById(customer); + LambdaQueryWrapper<TjOrderDetail> wq11 = new LambdaQueryWrapper<>(); wq11.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId()); wq11.eq(TjOrderDetail::getTjStatus, 0); wq11.isNotNull(TjOrderDetail::getFlowingWaterId); List<TjOrderDetail> list = tjOrderDetailService.list(wq11); - if (list != null) { Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); SysUser sysUser = userService.getById(userId); @@ -2241,7 +2313,7 @@ final List<TjFlowingWater> list1 = tjFlowingWaterService.list(wqq); if (list1 != null) { for (TjFlowingWater tjFlowingWater : list1) { - if (tjFlowingWater!=null && tjFlowingWater.getPaidIn()!=null){ + if (tjFlowingWater != null && tjFlowingWater.getPaidIn() != null) { res.add(tjFlowingWater.getPaidIn()); } } @@ -2260,21 +2332,165 @@ public AjaxResult revokeTjOrderByTjNum(@RequestParam @ApiParam(value = "浣撴鍙�") String tjNum) { TjOrder order = tjOrderService.getOrderByTjNum(tjNum); - if(null !=order){ - String payByTjNum = tjOrderService.isPayByTjNum(String.valueOf(order.getOrderId())); - if(null!=payByTjNum){ - return AjaxResult.success("璇ョ敤鎴峰凡鏀惰垂涓嶅彲鎾ら攢绛惧埌!"); - } + if (null != order) { +// String payByTjNum = tjOrderService.isPayByTjNum(String.valueOf(order.getOrderId())); +// if (null != payByTjNum) { +// 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); transitionService.updateTbTransitionByTjNum(tjNum); + TjCustomer customer = tjCustomerService.getById(order.getUserId()); + if(null !=customer){ + customer.setCardId("0"); + tjCustomerService.updateById(customer); + } + String configByKey = configService.selectConfigByKey("sfkqdyhis"); + if (configByKey.equals("Y")){ + HashMap<String, Object> map = new HashMap<>(); + map.put("cardtype","4"); + map.put("input",order.getCardId()); + LocalDate currentDate = LocalDate.now(); + LocalDateTime startOfDay = currentDate.atStartOfDay(); + LocalDateTime nineteenOClock = currentDate.atTime(LocalTime.of(19, 0)); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String ksrq = startOfDay.format(formatter); + String jsrq = nineteenOClock.format(formatter); + map.put("ksrq",ksrq); + map.put("jsrq",jsrq); + AjaxResult result = hisApiGetMethodService.getHISDataNew("Getoutpatientcostinfo", map); + if (Integer.parseInt(String.valueOf(result.get("code"))) == 200){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("鎾ら攢澶辫触,闂ㄨ瘖鎮h�呰垂鐢ㄦ竻鍗曚俊鎭笉涓虹┖"); + }else { + boolean zfHisApiMethods = hisApiMethod.ZfHisApiMethods(null, order); + if (zfHisApiMethods) { + return AjaxResult.success("鎾ら攢鎴愬姛", map); + }else { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("鎾ら攢澶辫触,璋冪敤浣滃簾鍑虹幇澶辫触"); + } + } + } return AjaxResult.success("鎾ら攢鎴愬姛!!!"); } return AjaxResult.success("绛惧埌璁板綍涓嶅瓨鍦�!"); } + + @GetMapping("/getCusTomterListByCompId") + @ApiOperation(value = "鑾峰彇鍗曚綅id浣撴浜轰俊鎭帴鍙�") + public AjaxResult getCusTomterListByCompId(@RequestParam(required = false) @ApiParam(value = "鍗曚綅id") String compId, + @RequestParam(required = false) @ApiParam(value = "鍚嶅瓧") String name, + @RequestParam(required = false) @ApiParam(value = "閮ㄩ棬id") String deptId, + @RequestParam(required = false) @ApiParam(value = "棰勭害鏃堕棿") Date reservationTime, + @RequestParam(defaultValue = "1") Integer page, + @RequestParam(defaultValue = "10") Integer pageSize) { + Page<TjReservation> pages = new Page<>(page, pageSize); + LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>(); + if (null != compId) wq.eq(TjReservation::getCompanyId, compId); + if (null != name) wq.eq(TjReservation::getName, name); + if (null != deptId) wq.eq(TjReservation::getDepartment, deptId); + if (null != reservationTime) + wq.between(TjReservation::getReservationTime, DateUtil.beginOfDay(reservationTime), DateUtil.endOfDay(reservationTime)); + List<TjReservation> reservationList = tjReservationService.list(wq); + if (null != reservationList && reservationList.size() > 0) { + LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); + wq1.in(TjOrder::getReservationId, reservationList.stream().map(TjReservation::getId).collect(Collectors.toList())); + List<TjOrder> orderList = tjOrderService.list(wq1); + if (null != orderList && orderList.size() > 0) { + LambdaQueryWrapper<TjReservation> wq3 = new LambdaQueryWrapper<>(); + wq3.in(TjReservation::getId, orderList.stream().map(TjOrder::getReservationId).collect(Collectors.toList())); +// wq3.eq(TjReservation::getTeamNo,reservationList.get(0).getTeamNo()); + Page<TjReservation> page1 = tjReservationService.page(pages, wq3); + return AjaxResult.success(page1); + + } + } + return AjaxResult.success("鏆傛棤淇℃伅"); + } + + + @PostMapping("/plRevokeTjOrderByTjNum") + @ApiOperation(value = "鏍规嵁瀹㈡埛浣撴鍙锋壒閲忔挙閿�浣撴璁板綍") + @Transactional + public AjaxResult plRevokeTjOrderByTjNum(@RequestBody @ApiParam(value = "棰勭害涓婚敭id闆嗗悎") List<String> reservationIds) { + if (null != reservationIds && reservationIds.size() > 0) { + LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); + wq1.in(TjOrder::getReservationId, reservationIds); + List<TjOrder> orderList = tjOrderService.list(wq1); + if (null != orderList && orderList.size() > 0) { + for (TjOrder order : orderList) { +// TjOrder order = tjOrderService.getOrderByTjNum(tjNum); + if (null != order) { +// String payByTjNum = tjOrderService.isPayByTjNum(String.valueOf(order.getOrderId())); +// if (null != payByTjNum) { +// return AjaxResult.success("璇ョ敤鎴峰凡鏀惰垂涓嶅彲鎾ら攢绛惧埌!"); +// } + tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); + tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); + remarkService.deletedOrderRemarkByTjNum(order.getTjNumber()); + tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); + transitionService.deletedTbTransitionByTjNum(order.getTjNumber()); + transitionService.updateTbTransitionByTjNum(order.getTjNumber()); + } + } + for (String id : reservationIds) { + TjReservation reservation = tjReservationService.getById(id); + if (null != reservation) { + reservation.setIsExpire(2); + tjReservationService.updateById(reservation); + } + } + } + return AjaxResult.success("鎾ら攢鎴愬姛!!!"); + } + return AjaxResult.error("璇烽�夋嫨瑕佹挙閿�鐨勪汉鍛�!"); + } + + @PostMapping("makeTjPDF") + @ApiOperation(value = "鎵归噺鐢熸垚PDF") + public AjaxResult makeTjPDF(@RequestBody List<String> reservations) { + QueryWrapper<TjOrder> queryWrapper = new QueryWrapper<>(); + queryWrapper.in("reservation_id",reservations); + List<TjOrder> tjNumbers = tjOrderService.list(queryWrapper); + Map<String, Object> map = null; + try { + map = PDFDocumentUtil.getDocument(); + Document document = (Document) map.get("document"); + for (int i = 0; i < tjNumbers.size(); i++) { + String tjNumber = tjNumbers.get(i).getTjNumber(); + try { + List<Map<String, String>> djdInfos = tjOrderService.selectDjdInfo(tjNumber); + Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumber); + LocalDateTime tjsj = (LocalDateTime) userInfo.get("tjsj"); + DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); + String time = null; + if (tjsj != null) { + time = dateFormat.format(tjsj); + } + PDFDocumentUtil.makeUserInfoTable(document, (String) userInfo.get("tjname"), (String) userInfo.get("sex") + , (String) userInfo.get("tjh"), (String) userInfo.get("lxdh"), (String) userInfo.get("tjname"), time); + PDFDocumentUtil.makeTjInfo(document, djdInfos); + // 澶氭潯鍒欐崲椤� + if (i + 1 < tjNumbers.size()) { + document.newPage(); + } + } catch (DocumentException | IOException e) { + e.printStackTrace(); + } + } + document.close(); + ByteArrayOutputStream outputStream = (ByteArrayOutputStream) map.get("stream"); + String encodeToString = java.util.Base64.getEncoder().encodeToString(outputStream.toByteArray()); + return AjaxResult.success().put("file", encodeToString); + } catch (IOException | DocumentException e) { + e.printStackTrace(); + return AjaxResult.error(e.getMessage()); + } + } } -- Gitblit v1.8.0