From d4b226bc63f56b7039deea20c0e1e120eb302e19 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期一, 18 十二月 2023 18:02:51 +0800 Subject: [PATCH] zjh 2023/12/18--1 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 567 +++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 410 insertions(+), 157 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 e28c260..14d73a2 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,6 +4,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.text.SimpleDateFormat; +import java.time.OffsetTime; import java.util.*; import java.util.List; import java.util.stream.Collectors; @@ -15,6 +16,7 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.crypto.symmetric.DES; +import cn.hutool.extra.pinyin.PinyinUtil; import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -22,11 +24,18 @@ 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.SecurityUtils; import com.ltkj.framework.config.MatchUtils; +import com.ltkj.framework.config.UserHoder; +import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; import com.ltkj.hosp.domain.*; +import com.ltkj.hosp.mapper.TestMapper; import com.ltkj.hosp.service.*; +import com.ltkj.hosp.sqlDomain.LtkjMiddleDetail; +import com.ltkj.hosp.sqlDomain.LtkjMiddleHead; import com.ltkj.hosp.vodomain.BingZhongVO; +import com.ltkj.hosp.vodomain.HistoryTjOrder; import com.ltkj.hosp.vodomain.QjDomainVo; import com.ltkj.mall.domain.MallCheckLog; import com.ltkj.mall.domain.MallOrder; @@ -62,7 +71,7 @@ */ @RestController @RequestMapping("/hosp/order") -@Api(tags = "浣撴璁板綍鎺ュ彛") +@Api(tags = "PC绔� ----浣撴璁板綍鎺ュ彛") @Slf4j public class TjOrderController extends BaseController { @Resource @@ -91,8 +100,6 @@ private String value; @Resource private ITjOrderRemarkService remarkService; - @Resource - private ITjTeamSelectRecordService selectRecordService; @Resource private TjAsyncService asyncService; @Resource @@ -128,11 +135,26 @@ @Resource private ITjRulesService rulesService; + @Autowired + private ITjAskMedicalHistoryService tjAskMedicalHistoryService; + + @Autowired + private ITjReportGetAddressService tjReportGetAddressService; + + @Resource + private TestMapper testMapper; + + @Resource + private LtkjMiddleDetailService middleDetailService; + + @Resource + private LtkjMiddleHeadService headService; + /** * 鏌ヨ浣撴璁板綍鍒楄〃 */ - @PreAuthorize("@ss.hasPermi('hosp:order:list')") +// @PreAuthorize("@ss.hasPermi('hosp:order:list')") @GetMapping("/list") @ApiOperation(value = "鏌ヨ浣撴璁板綍鍒楄〃(榛樿)") public TableDataInfo list(TjOrder tjOrder) { @@ -428,6 +450,7 @@ LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>(); wq.isNotNull(TjOrder::getReportTime); wq.eq(TjOrder::getUserId, customer.getCusId()); + wq.eq(TjOrder::getHeshouStatus, 1); //鏍告敹鐘舵�佷负1鎵嶈兘鎵撳嵃 list.addAll(tjOrderService.list(wq)); } List<TjOrder> collect = null; @@ -479,6 +502,7 @@ Page<TjOrder> page1 = new Page<>(pageNum, pageSize); LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>(); wq.isNotNull(TjOrder::getReportTime); + wq.eq(TjOrder::getHeshouStatus, 1); //鏍告敹鐘舵�佷负1鎵嶈兘鎵撳嵃 if (null != bgbeginTime && null != bgendTime) { wq.between(TjOrder::getCreateTime, DateUtil.beginOfDay(bgbeginTime), DateUtil.endOfDay(bgendTime)); } @@ -496,7 +520,9 @@ order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); - order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); + if (tjCustomer.getCusIdcard() != null) { + order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); + } } String firmId = order.getFirmId(); if (firmId != null && null != iDictCompService.getById(String.valueOf(order.getFirmId()))) { @@ -558,8 +584,10 @@ order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); order.setGrMoBanId(reportService.getGrMoBanIds()); order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); - order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); - order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); + if (null != tjCustomer.getCusPhone()) + order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); + if (null != tjCustomer.getCusIdcard()) + order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); } String firmId = order.getFirmId(); if (firmId != null && null != iDictCompService.getById(String.valueOf(order.getFirmId()))) { @@ -609,8 +637,10 @@ order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); order.setGrMoBanId(reportService.getGrMoBanIds()); order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); - order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); - order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); + if (null != tjCustomer.getCusPhone()) + order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); + if (null != tjCustomer.getCusIdcard()) + order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); } String firmId = order.getFirmId(); if (firmId != null && null != iDictCompService.getById(String.valueOf(order.getFirmId()))) { @@ -652,43 +682,21 @@ List<TjOrder> list = Optional.ofNullable(tjOrderService.list(wq)).get(); if (list.size() > 0) { - List<TjOrder> list1 = new ArrayList<>(); - for (TjOrder order : list) { - TjCustomer tjCustomer = tjCustomerService.selectTjCustomerByCusId(order.getUserId()); - if (null != tjCustomer) { - order.setTjCustomerSex(tjCustomer.getCusSex()); - order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); - order.setGrMoBanId(reportService.getGrMoBanIds()); - order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); - order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); - order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); + asyncService.getPrintOrderList(list); + if (redisCache.hasKey("getPrintOrderList")) { + if (null != type && type == 0) { + List<TjOrder> list1 = redisCache.getCacheMapValue("getPrintOrderList", "0"); + collect = list1.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); } - String firmId = order.getFirmId(); - if (firmId != null && null != iDictCompService.selectDictCompByDrugManufacturerId(String.valueOf(order.getFirmId()))) { - order.setDictCompName(iDictCompService.selectDictCompByDrugManufacturerId(String.valueOf(order.getFirmId())).getCnName()); + if (null != type && type == 1) { + List<TjOrder> list1 = redisCache.getCacheMapValue("getPrintOrderList", "1"); + collect = list1.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); } - if (null != order.getPacId()) { - if (null != tjPackageService.getById(order.getPacId())) { - order.setPacName(tjPackageService.getById(order.getPacId()).getPacName()); - } - if (null != dwDeptService.getById(order.getPacId())) { - order.setPacName(dwDeptService.getById(order.getPacId()).getDwDeptName()); - } - } - //浠庢墦鍗拌褰曟煡鍑烘渶鏂版墦鍗版椂闂� - TjPrintOrder one = printOrderService.getTjPrintOrderByTjNum(order.getTjNumber()); - if (null != type && type == 1 && one != null) { - order.setPrintTime(one.getCreateTime()); - order.setPrintName(one.getCreateBy()); - order.setType(1); - list1.add(order); - } - if (null != type && type == 0 && one == null) { - order.setType(0); - list1.add(order); - } + } else { + List<TjOrder> list1 = new ArrayList<>(); + extracted(type, list, list1); + collect = list1.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); } - collect = list1.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); } if (null != collect) { map.put("total", collect.size()); @@ -699,11 +707,51 @@ return AjaxResult.success(map); } + private void extracted(Integer type, List<TjOrder> list, List<TjOrder> list1) { + for (TjOrder order : list) { + TjCustomer tjCustomer = tjCustomerService.selectTjCustomerByCusId(order.getUserId()); + if (null != tjCustomer) { + order.setTjCustomerSex(tjCustomer.getCusSex()); + order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); + order.setGrMoBanId(reportService.getGrMoBanIds()); + order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); + if (null != tjCustomer.getCusPhone()) + order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); + if (null != tjCustomer.getCusIdcard()) + order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); + } + String firmId = order.getFirmId(); + if (firmId != null && null != iDictCompService.selectDictCompByDrugManufacturerId(String.valueOf(order.getFirmId()))) { + order.setDictCompName(iDictCompService.selectDictCompByDrugManufacturerId(String.valueOf(order.getFirmId())).getCnName()); + } + if (null != order.getPacId()) { + if (null != tjPackageService.getById(order.getPacId())) { + order.setPacName(tjPackageService.getById(order.getPacId()).getPacName()); + } + if (null != dwDeptService.getById(order.getPacId())) { + order.setPacName(dwDeptService.getById(order.getPacId()).getDwDeptName()); + } + } + //浠庢墦鍗拌褰曟煡鍑烘渶鏂版墦鍗版椂闂� + TjPrintOrder one = printOrderService.getTjPrintOrderByTjNum(order.getTjNumber()); + if (null != type && type == 1 && one != null) { + order.setPrintTime(one.getCreateTime()); + order.setPrintName(one.getCreateBy()); + order.setType(1); + list1.add(order); + } + if (null != type && type == 0 && one == null) { + order.setType(0); + list1.add(order); + } + } + } + /** * 瀵煎嚭浣撴璁板綍鍒楄〃 */ - @PreAuthorize("@ss.hasPermi('hosp:order:export')") +// @PreAuthorize("@ss.hasPermi('hosp:order:export')") @Log(title = "浣撴璁板綍", businessType = BusinessType.EXPORT) @PostMapping("/export") @ApiOperation(value = "瀵煎嚭浣撴璁板綍鍒楄〃") @@ -717,19 +765,33 @@ /** * 鑾峰彇浣撴璁板綍璇︾粏淇℃伅 */ - @PreAuthorize("@ss.hasPermi('hosp:order:query')") +// @PreAuthorize("@ss.hasPermi('hosp:order:query')") @GetMapping(value = "/{orderId}") @ApiOperation(value = "鑾峰彇浣撴璁板綍璇︾粏淇℃伅") public AjaxResult getInfo(@PathVariable("orderId") Long orderId) { return success(tjOrderService.selectTjOrderByOrderId(orderId)); } + + @GetMapping("/getIsRequired") + @ApiOperation(value = "鏍规嵁鍙傛暟閰嶇疆鑾峰彇鏄惁蹇呭~椤癸紙韬唤璇併�佹�у埆銆佺數璇濄�佺収鐗囥�佹槸鍚︾洿鎺ヤ笅鍗曪級") + public AjaxResult getIsRequired() { + Map<String, String> res = new HashMap<>(); + res.put("has_idcard", configService.selectConfigByKey("has_idcard")); + res.put("has_sex", configService.selectConfigByKey("has_sex")); + res.put("is_phone", configService.selectConfigByKey("is_phone")); + res.put("mall_hasPhoto", configService.selectConfigByKey("mall_hasPhoto")); + res.put("has_charge", configService.selectConfigByKey("has_charge")); + return AjaxResult.success(res); + } + + /** * 浣撴绛惧埌鐧昏鎺ュ彛 */ @PostMapping @ApiOperation(value = "浣撴绛惧埌鐧昏鎺ュ彛") - @Transactional + //@Transactional (鍒囨崲鏁版嵁搴撳嚭閿欙紝鎵�浠ユ敞閲�) public AjaxResult addOrderAndDetail(@RequestBody TjOrder tjOrder) throws Exception { Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); SysUser sysUser = userService.getById(userId); @@ -765,8 +827,11 @@ if (null != tjReservation.getDepartment()) tjOrder.setFirmDeptName(tjReservation.getDepartment()); if (null != tjReservation.getJobNo()) tjOrder.setFirmWorkId(tjReservation.getJobNo()); if (null != tjReservation.getPacId()) tjOrder.setPacId(tjReservation.getPacId()); - if (null != tjReservation.getGroupingId()) tjOrder.setGroupId(tjReservation.getGroupingId()); - if (null != tjReservation.getDepartmentId()) tjOrder.setFirmDeptId(tjReservation.getDepartmentId()); + if (null != tjReservation.getGroupingId()){ + tjOrder.setGroupId(tjReservation.getGroupingId()); + tjOrder.setFirmDeptId(tjReservation.getPacId()); + } +// if (null != tjReservation.getDepartmentId()) tjOrder.setFirmDeptId(tjReservation.getDepartmentId()); tjReservation.setIsExpire(1); tjReservationService.updateById(tjReservation); if (null != tjReservation.getTeamNo()) { @@ -796,11 +861,18 @@ 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); if (tjOrderService.save(tjOrder)) { + //淇濆瓨鏀惰揣鍦板潃 + if ("2".equals(tjOrder.getGetType())){ + final TjReportGetAddress address = tjOrder.getAddAddress(); + if (address!=null){ + address.setTjNumber(tjNumber); + tjReportGetAddressService.save(address); + } + } Long cusNumber = tjCustomer.getCusNumber(); cusNumber += 1; tjCustomer.setCusNumber(cusNumber); @@ -812,12 +884,45 @@ tjFlowingWater.setPayStasus(3L); } } + + //璋冪敤SQL server鎷垮彇鏀惰垂鎯呭喌 + //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 + final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); + if ("Y".equals(getInfoFromSqlData)){ + + //鏌ヨ鏄惁his宸叉敹璐� 鑻ユ敹璐瑰垯灏嗘祦姘磋〃鏀惰垂鐘舵�佹敼鎴愬凡鏀惰垂 + LambdaQueryWrapper<LtkjMiddleHead> middleHeadLambdaQueryWrapper =new LambdaQueryWrapper<>(); + middleHeadLambdaQueryWrapper.eq(LtkjMiddleHead::getPatId,tjCustomer.getCusIdcard()); + middleHeadLambdaQueryWrapper.eq(LtkjMiddleHead::getIsCanceled,"N"); + middleHeadLambdaQueryWrapper.eq(LtkjMiddleHead::getIsChg,"Y"); + LtkjMiddleHead middleHead = headService.getOne(middleHeadLambdaQueryWrapper); + if(null !=middleHead){ + tjFlowingWater.setPayStasus(1L); + } + 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(); + } + } + } + + } + } + + tjFlowingWater.setOrderId(tjOrder.getOrderId()); Date date1 = new Date(System.currentTimeMillis()); - SimpleDateFormat sdf = new SimpleDateFormat("yyMMddHHmmssSSS"); - String userId1 = SecurityUtils.getUsername(); - String s1 = userId1 + sdf.format(date1); - tjFlowingWater.setWaterId(s1); + String s1 = SecurityUtils.getUsername() + new SimpleDateFormat("yyMMddHHmmssSSS").format(date1); + tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(tjCustomer.getCusName(), "") + s1); if (null != mallOrder) { if (mallOrder.getOrderStatus().equals(201L)) { tjFlowingWater.setCopeWith(mallOrder.getActualPrice()); @@ -851,15 +956,40 @@ //鍥綋 if ("1".equals(tjOrder.getTjType())) { - tjOrder.setFirmDeptId(tjOrder.getPacId()); asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater); } //涓汉 if ("2".equals(tjOrder.getTjType())) { - asyncService.extracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); + +// 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(); +// } +// } +// } +// +// } +// } + return AjaxResult.success(tjNumber); } return AjaxResult.error(); @@ -869,7 +999,7 @@ /** * 淇敼浣撴璁板綍 */ - @PreAuthorize("@ss.hasPermi('hosp:order:edit')") +// @PreAuthorize("@ss.hasPermi('hosp:order:edit')") @Log(title = "浣撴璁板綍", businessType = BusinessType.UPDATE) @PutMapping @ApiOperation(value = "淇敼浣撴璁板綍") @@ -880,7 +1010,7 @@ /** * 鍒犻櫎浣撴璁板綍 */ - @PreAuthorize("@ss.hasPermi('hosp:order:remove')") +// @PreAuthorize("@ss.hasPermi('hosp:order:remove')") @Log(title = "浣撴璁板綍", businessType = BusinessType.DELETE) @DeleteMapping("/{orderIds}") @ApiOperation(value = "鍒犻櫎浣撴璁板綍") @@ -934,6 +1064,7 @@ } else { tbTransitionList = redisCache.getCacheList(cusId); } + //濂楅 if (null != packId && !packId.equals("")) { Long pacId = Long.valueOf(packId.toString()); List<TbTransition> list = transitionService.getTbTransitionListByCusIdAndPac(cusId, String.valueOf(pacId)); @@ -947,11 +1078,12 @@ List<TjPackageProject> ppList = tjPackageProjectService.getTjPackageProjectListByPacId(String.valueOf(pacId)); if (null != ppList && ppList.size() > 0) { //寮傛淇濆瓨鏁版嵁搴� - asyncService.addRedisTransitionPac(cusId, pacId, ppList); +// asyncService.addRedisTransitionPac(cusId, pacId, ppList); + asyncService.saveRedisTransitionByPacId(cusId, pacId, null); for (TjPackageProject tjPackageProject : ppList) { TjProject project = projectService.getTjProjectById(String.valueOf(tjPackageProject.getProId())); if (null != project) { - BigDecimal divide = tjPackageProject.getPriceNow().divide(project.getProPrice(), 5, RoundingMode.DOWN); + BigDecimal 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) { //addRedisTransitionPac(cusId, tbTransitionList, pacId, tjPackageProject, project, divide, tjProSonList); @@ -959,11 +1091,6 @@ TbTransition tbTransition = new TbTransition(); tbTransition.setCusId(cusId); tbTransition.setPacId(pacId); -// if (null != tjProject.getProPrice()) { -// tbTransition.setOrdPrice(tjProject.getProPrice()); -// } else { -// tbTransition.setOrdPrice(BigDecimal.valueOf(0.00)); -// } if (null != tjPackageProject.getPriceNow() && divide.compareTo(BigDecimal.valueOf(0)) > 0) { tbTransition.setNowPrice(tjProject.getProPrice().multiply(divide).setScale(2, RoundingMode.HALF_DOWN)); tbTransition.setOrdPrice(tjProject.getProPrice().multiply(divide).setScale(2, RoundingMode.HALF_DOWN)); @@ -987,42 +1114,51 @@ } } } + + //鍗曢」 if (null != proIds && proIds.size() > 0) { - asyncService.addRedisTransitionPro(cusId, proIds); + //寮傛淇濆瓨鏁版嵁搴撹〃 + asyncService.saveRedisTransitionByPacId(cusId, null, proIds); for (Long proId : proIds) { List<TbTransition> transitions = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId)); if (null != transitions && transitions.size() > 0) { continue; } - TjProject project = projectService.getTjProjectById(String.valueOf(proId)); - if (null != project) { - List<TjProject> tjProSonList = projectService.getTjProjectListBySoneId(String.valueOf(project.getProId())); - if (null != tjProSonList && tjProSonList.size() > 0) { - //寮傛淇濆瓨鏁版嵁搴撹〃 - for (TjProject tjProject : tjProSonList) { - List<TbTransition> transitionss = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(tjProject.getProId())); - if (null != transitionss && transitionss.size() > 0) { - continue; - } - TbTransition tbTransition = new TbTransition(); - tbTransition.setCusId(cusId); - tbTransition.setPacId(null); - if (null != tjProject.getProPrice()) { - tbTransition.setOrdPrice(tjProject.getProPrice()); - tbTransition.setNowPrice(tjProject.getProPrice()); - } else { - tbTransition.setOrdPrice(BigDecimal.valueOf(0.00)); - tbTransition.setNowPrice(BigDecimal.valueOf(0.00)); - } - tbTransition.setParentProId(proId); - tbTransition.setParentProName(project.getProName()); - tbTransition.setProId(tjProject.getProId()); - tbTransition.setProName(tjProject.getProName()); - tbTransition.setProType(tjProject.getProType()); - tbTransition.setProCheckMethod(tjProject.getProCheckMethod()); - tbTransitionList.add(tbTransition); + TjProject tjProject = projectService.getTjProjectById(String.valueOf(proId)); + if (null != tjProject) { +// List<TjProject> tjProSonList = projectService.getTjProjectListBySoneId(String.valueOf(project.getProId())); +// if (null != tjProSonList && tjProSonList.size() > 0) { +// for (TjProject tjProject : tjProSonList) { +// List<TbTransition> transitionss = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(tjProject.getProId())); +// if (null != transitionss && transitionss.size() > 0) { +// continue; +// } + TbTransition tbTransition = new TbTransition(); + tbTransition.setCusId(cusId); + tbTransition.setPacId(null); + if (null != tjProject.getProPrice()) { + tbTransition.setOrdPrice(tjProject.getProPrice()); + tbTransition.setNowPrice(tjProject.getProPrice()); + } else { + tbTransition.setOrdPrice(BigDecimal.valueOf(0.00)); + tbTransition.setNowPrice(BigDecimal.valueOf(0.00)); + } + tbTransition.setParentProId(tjProject.getProParentId()); + if (tjProject.getProParentId() != null) { + TjProject byId = projectService.getById(tjProject.getProParentId()); + if(null !=byId){ + tbTransition.setParentProName(byId.getProName()); } } + tbTransition.setParentProName(""); + + tbTransition.setProId(tjProject.getProId()); + tbTransition.setProName(tjProject.getProName()); + tbTransition.setProType(tjProject.getProType()); + tbTransition.setProCheckMethod(tjProject.getProCheckMethod()); + tbTransitionList.add(tbTransition); +// } +// } } } } @@ -1294,9 +1430,6 @@ List<Map<String, Object>> list = new ArrayList<>(); for (Map.Entry<Long, List<TbTransition>> entry : collect.entrySet()) { Map<String, Object> map = new HashMap<>(); - LambdaQueryWrapper<TbTransition> wq = new LambdaQueryWrapper<>(); - wq.eq(TbTransition::getCusId, cusId); - wq.eq(TbTransition::getParentProId, entry.getKey()); Long pacId = entry.getValue().get(0).getPacId(); if (null != pacId) { TjPackage aPackage = tjPackageService.getById(entry.getValue().get(0).getPacId()); @@ -1313,21 +1446,20 @@ for (TbTransition tbTransition : tbTransitionList) { money1 = money1.add(tbTransition.getOrdPrice()); money2 = money2.add(tbTransition.getNowPrice()); - if (tbTransition.getOrdPrice().compareTo(BigDecimal.valueOf(0)) == 0 || tbTransition.getNowPrice().compareTo(BigDecimal.valueOf(0)) == 0) { - tbTransition.setDiscount("0"); - } else { - tbTransition.setDiscount((tbTransition.getNowPrice()).divide(tbTransition.getOrdPrice(), BigDecimal.ROUND_CEILING).toString()); - } - if (null != tbTransition.getPacId()) { - tbTransition.setPacPrice(tjPackageService.getById(tbTransition.getPacId()).getPrice()); - } - if (null != tbTransition.getParentProId()) { - tbTransition.setPacPrice(projectService.getTjProjectById(String.valueOf(tbTransition.getParentProId())).getProPrice()); - } +// if (tbTransition.getOrdPrice().compareTo(BigDecimal.valueOf(0)) == 0 || tbTransition.getNowPrice().compareTo(BigDecimal.valueOf(0)) == 0) { +// tbTransition.setDiscount("0"); +// } else { +// tbTransition.setDiscount((tbTransition.getNowPrice()).divide(tbTransition.getOrdPrice(), BigDecimal.ROUND_CEILING).toString()); +// } +// if (null != tbTransition.getPacId()) { +// tbTransition.setPacPrice(tjPackageService.getById(tbTransition.getPacId()).getPrice()); +// } +// if (null != tbTransition.getParentProId()) { +// tbTransition.setPacPrice(projectService.getTjProjectById(String.valueOf(tbTransition.getParentProId())).getProPrice()); +// } } // map.put("ordPrice", money1.setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price")))); // map.put("nowPrice", money2.setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price")))); - map.put("ordPrice", money1); map.put("nowPrice", money2); } @@ -1392,19 +1524,19 @@ for (TjReservation tjReservation : list) { final TjDwGrouping byId = dwGroupingService.getById(tjReservation.getGroupingId()); - if (byId!=null){ + if (byId != null) { tjReservation.setGroupingName(byId.getGroupingName()); } - if (tjReservation.getIsExpire()==1){ - LambdaQueryWrapper<TjCustomer> wq1=new LambdaQueryWrapper<>(); - wq1.eq(TjCustomer::getCusIdcard,tjReservation.getIdCard()); + if (tjReservation.getIsExpire() == 1) { + LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>(); + wq1.eq(TjCustomer::getCusIdcard, tjReservation.getIdCard()); final TjCustomer one1 = tjCustomerService.getOne(wq1); - LambdaQueryWrapper<TjOrder> wq2=new LambdaQueryWrapper<>(); - wq2.eq(TjOrder::getUserId,one1.getCusId()); - wq2.eq(TjOrder::getTeamNo,tjReservation.getTeamNo()); + LambdaQueryWrapper<TjOrder> wq2 = new LambdaQueryWrapper<>(); + wq2.eq(TjOrder::getUserId, one1.getCusId()); + wq2.eq(TjOrder::getTeamNo, tjReservation.getTeamNo()); final TjOrder one = tjOrderService.getOne(wq2); - if (one!=null){ + if (one != null) { tjReservation.setTjNumber(one.getTjNumber()); tjReservation.setTjStatus(one.getStatus()); if (one.getStatus() == 201) { @@ -1413,17 +1545,17 @@ c += 1; } } - }else if (tjReservation.getIsExpire()==2){ + } else if (tjReservation.getIsExpire() == 2) { tjReservation.setTjStatus(0); tjReservation.setTjNumber("鏃�"); - a+=1; + a += 1; } } - map.put("list",list); - map.put("all",list.size()); - map.put("weijian",a); - map.put("jianzhong",b); - map.put("yijian",c); + map.put("list", list); + map.put("all", list.size()); + map.put("weijian", a); + map.put("jianzhong", b); + map.put("yijian", c); return AjaxResult.success(map); } @@ -1440,24 +1572,24 @@ public AjaxResult tuanTiBingById(@ApiParam(value = "鍗曚綅") @RequestParam String firmId, @ApiParam(value = "閮ㄩ棬") @RequestParam String firmDeptId, @ApiParam(value = "鐥呯") @RequestParam(required = false) String bingZhong) { - List<TjOrderDetailRules> res1=new ArrayList<>(); - List<BingZhongVO> res=new ArrayList<>(); + List<TjOrderDetailRules> res1 = new ArrayList<>(); + List<BingZhongVO> res = new ArrayList<>(); - LambdaQueryWrapper<TjDwGrouping> wqqq=new LambdaQueryWrapper<>(); - wqqq.eq(TjDwGrouping::getDwDeptId,firmDeptId); + LambdaQueryWrapper<TjDwGrouping> wqqq = new LambdaQueryWrapper<>(); + wqqq.eq(TjDwGrouping::getDwDeptId, firmDeptId); final List<TjDwGrouping> list2 = dwGroupingService.list(wqqq); for (TjDwGrouping tjDwGrouping : list2) { - LambdaQueryWrapper<TjOrder> wq2=new LambdaQueryWrapper<>(); - wq2.eq(TjOrder::getFirmId,firmId); - wq2.eq(TjOrder::getGroupId,tjDwGrouping.getId()); + LambdaQueryWrapper<TjOrder> wq2 = new LambdaQueryWrapper<>(); + wq2.eq(TjOrder::getFirmId, firmId); + wq2.eq(TjOrder::getGroupId, tjDwGrouping.getId()); final List<TjOrder> list = tjOrderService.list(wq2); for (TjOrder tjOrder : list) { - LambdaQueryWrapper<TjOrderDetailRules> wq1=new LambdaQueryWrapper<>(); - wq1.eq(TjOrderDetailRules::getTjNumber,tjOrder.getTjNumber()); - if (bingZhong!=null){ - wq1.like(TjOrderDetailRules::getBingzhong,bingZhong); + LambdaQueryWrapper<TjOrderDetailRules> wq1 = new LambdaQueryWrapper<>(); + wq1.eq(TjOrderDetailRules::getTjNumber, tjOrder.getTjNumber()); + if (bingZhong != null) { + wq1.like(TjOrderDetailRules::getBingzhong, bingZhong); } final List<TjOrderDetailRules> list1 = orderDetailRulesService.list(wq1); //鏀捐繘闆嗗悎 @@ -1470,21 +1602,21 @@ // List<String> distinctIds = idStream.collect(Collectors.toList()); Map<String, Long> columnCountMap = res1.stream().collect(Collectors.groupingBy(TjOrderDetailRules::getAid, Collectors.counting())); - for(Map.Entry<String, Long> entry:columnCountMap.entrySet()){ + for (Map.Entry<String, Long> entry : columnCountMap.entrySet()) { - BingZhongVO bingZhongVO=new BingZhongVO(); + BingZhongVO bingZhongVO = new BingZhongVO(); bingZhongVO.setRules(rulesService.getById(entry.getKey())); bingZhongVO.setNum(entry.getValue()); - List<TjOrderDetailRules> aa=new ArrayList<>(); + List<TjOrderDetailRules> aa = new ArrayList<>(); for (TjOrderDetailRules orderDetailRules : res1) { - if (orderDetailRules.getAid().equals(entry.getKey())){ + if (orderDetailRules.getAid().equals(entry.getKey())) { orderDetailRules.setDwName(dwDeptService.getById(firmDeptId).getDwName()); orderDetailRules.setDwDeptName(dwDeptService.getById(firmDeptId).getDwDeptName()); - LambdaQueryWrapper<TjOrder> wq22=new LambdaQueryWrapper<>(); - wq22.eq(TjOrder::getFirmId,firmId); - wq22.eq(TjOrder::getTjNumber,orderDetailRules.getTjNumber()); + LambdaQueryWrapper<TjOrder> wq22 = new LambdaQueryWrapper<>(); + wq22.eq(TjOrder::getFirmId, firmId); + wq22.eq(TjOrder::getTjNumber, orderDetailRules.getTjNumber()); final TjOrder one = tjOrderService.getOne(wq22); orderDetailRules.setGroupName(dwGroupingService.getById(one.getGroupId()).getGroupingName()); aa.add(orderDetailRules); @@ -1501,33 +1633,33 @@ @PostMapping("/tuanTiBingChart") @ApiOperation(value = "鏌ヨ鍥綋浣撴鐥呯缁熻鍥�") public AjaxResult tuanTiBingChart(@RequestBody BingZhongVO bingZhongVO) { - List<TjOrderDetailRules> res1=new ArrayList<>(); + List<TjOrderDetailRules> res1 = new ArrayList<>(); - LambdaQueryWrapper<TjDwGrouping> wqqq=new LambdaQueryWrapper<>(); - wqqq.eq(TjDwGrouping::getDwDeptId,bingZhongVO.getFirmDeptId()); + LambdaQueryWrapper<TjDwGrouping> wqqq = new LambdaQueryWrapper<>(); + wqqq.eq(TjDwGrouping::getDwDeptId, bingZhongVO.getFirmDeptId()); final List<TjDwGrouping> list2 = dwGroupingService.list(wqqq); for (TjDwGrouping tjDwGrouping : list2) { - LambdaQueryWrapper<TjOrder> wq2=new LambdaQueryWrapper<>(); - wq2.eq(TjOrder::getFirmId,bingZhongVO.getFirmId()); - wq2.eq(TjOrder::getGroupId,tjDwGrouping.getId()); + LambdaQueryWrapper<TjOrder> wq2 = new LambdaQueryWrapper<>(); + wq2.eq(TjOrder::getFirmId, bingZhongVO.getFirmId()); + wq2.eq(TjOrder::getGroupId, tjDwGrouping.getId()); final List<TjOrder> list = tjOrderService.list(wq2); for (TjOrder tjOrder : list) { - LambdaQueryWrapper<TjOrderDetailRules> wq1=new LambdaQueryWrapper<>(); - wq1.eq(TjOrderDetailRules::getTjNumber,tjOrder.getTjNumber()); - wq1.in(TjOrderDetailRules::getAid,bingZhongVO.getAidList()); + LambdaQueryWrapper<TjOrderDetailRules> wq1 = new LambdaQueryWrapper<>(); + wq1.eq(TjOrderDetailRules::getTjNumber, tjOrder.getTjNumber()); + wq1.in(TjOrderDetailRules::getAid, bingZhongVO.getAidList()); final List<TjOrderDetailRules> list1 = orderDetailRulesService.list(wq1); //鏀捐繘闆嗗悎 res1.addAll(list1); } } Map<String, Long> columnCountMap = res1.stream().collect(Collectors.groupingBy(TjOrderDetailRules::getAid, Collectors.counting())); - List<Map<String, String>> aaa=new ArrayList<>(); - if (columnCountMap!=null){ - for(Map.Entry<String, Long> entry:columnCountMap.entrySet()){ - Map<String, String> resMap=new HashMap<>(); + List<Map<String, String>> aaa = new ArrayList<>(); + if (columnCountMap != null) { + for (Map.Entry<String, Long> entry : columnCountMap.entrySet()) { + Map<String, String> resMap = new HashMap<>(); final TjRules byId = rulesService.getById(entry.getKey()); - if (byId!=null){ + if (byId != null) { resMap.put("name", byId.getBingzhong()); resMap.put("value", String.valueOf(entry.getValue())); aaa.add(resMap); @@ -1541,9 +1673,130 @@ @PostMapping("/deletedTbTransitionByCusId") @ApiOperation(value = "鏍规嵁韬唤璇佸彿鍒犻櫎涓存椂琛ㄦ暟鎹�") public AjaxResult deletedTbTransitionByCusId(@RequestParam @ApiParam(value = "韬唤璇佸彿") String cusId) { - LambdaQueryWrapper<TbTransition> wq=new LambdaQueryWrapper<>(); - wq.between(TbTransition::getCreateTime,transitionService.getTbTransitionCreateTimeByCusId(cusId),new Date()); - wq.eq(TbTransition::getCusId,cusId); + LambdaQueryWrapper<TbTransition> wq = new LambdaQueryWrapper<>(); + wq.between(TbTransition::getCreateTime, transitionService.getTbTransitionCreateTimeByCusId(cusId), new Date()); + wq.eq(TbTransition::getCusId, cusId); return AjaxResult.success(transitionService.remove(wq)); } + + public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { + long l = System.currentTimeMillis(); + tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId())); + tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId())); + //淇敼姣忛」鐨勫師浠风幇浠� + transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), discount); + //娣诲姞remark琛ㄦ暟鎹� + remarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId())); + //鍒ゆ柇鏄惁浜ら挶 + if ("1".equals(tjOrder.getTjType())) { + if (null != tjReservation && tjReservation.getPayType() == 1) { + tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), + sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); + } + } + if (tjFlowingWater.getPayStasus() == 1) { + tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), + sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); + } + System.out.println("杩欐浠g爜鏃堕棿" + (System.currentTimeMillis() - l)); + } + + + @PostMapping("/heXiaoByIds/{orderIds}") + @ApiOperation(value = "鏍告敹鎶ュ憡鈥斺�斺�斺�斺�斺�旀�绘瀹℃牳閫氳繃鍚庡彲浠ユ牳閿�锛屾牳鏀跺悗鎵嶈兘鎵撳嵃") + @Transactional + public AjaxResult heXiaoByIds(@PathVariable String[] orderIds) { + for (String orderId : orderIds) { + final TjOrder byId = tjOrderService.getById(orderId); + byId.setHeshouStatus(1); + byId.setHeshouDoctor(UserHoder.getLoginUser().getUserId()); + byId.setHeshouTime(new DateTime()); + final boolean b = tjOrderService.updateById(byId); + if (!b){ + return AjaxResult.error("鏍告敹澶辫触"); + } + } + return AjaxResult.success("鏍告敹鎴愬姛"); + } + + @GetMapping("/getHistryTjOrderByCusIdCard") + @ApiOperation(value = "鏍规嵁韬唤璇佸彿鏌ョ湅鍘嗗彶浣撴璁板綍") + @Transactional + public AjaxResult getHistryTjOrderByCusIdCard(@RequestParam String cusIdCard) { + TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(cusIdCard); + List<HistoryTjOrder> list=new ArrayList<>(); + if(null !=tjCustomer){ + List<TjOrder> orderList = tjOrderService.getTjOrderListByCusId(tjCustomer.getCusId()); + for (TjOrder order : orderList) { + HistoryTjOrder historyTjOrder=new HistoryTjOrder(); + historyTjOrder.setUserName(tjCustomer.getCusName()); + historyTjOrder.setTjNum(order.getTjNumber()); + historyTjOrder.setTjTime(order.getCreateTime()); + historyTjOrder.setTjProName(tjOrderService.getHistoryTjOrderProByTjNum(order.getTjNumber())); + list.add(historyTjOrder); + } + } + return AjaxResult.success(list); + } + + + @GetMapping("/getHistryTjOrderProByCusIdCard") + @ApiOperation(value = "鏍规嵁韬唤璇佸彿鏌ョ湅鍘嗗彶浣撴椤圭洰璁板綍") + @Transactional + public AjaxResult getHistryTjOrderProByCusIdCard(@RequestParam String cusIdCard) { + TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(cusIdCard); + if(null !=tjCustomer){ + TjOrder order= tjOrderService.getLastTjOrderListByCusId(tjCustomer.getCusId()); + if(null !=order){ + List<Map<String, Object>> list = new ArrayList<>(); + if(order.getPacId().equals("o")){ + List<Long> longList = remarkService.getTjProIdsByTjNum(order.getTjNumber()); + for (Long aLong : longList) { + Map<String, Object> map = new HashMap<>(); + map.put("pacName", "鍗曢」"); + map.put("proId",aLong); + map.put("pacId",null); + map.put("parentName", projectService.getById(aLong).getProName()); + map.put("list",projectService.getTjProjectListBySoneId(String.valueOf(aLong))); + BigDecimal proPrice = projectService.getById(aLong).getProPrice(); + map.put("ordPrice", proPrice); + map.put("nowPrice", proPrice); + list.add(map); + } + } + if(!order.getPacId().equals("o")){ + List<Long> longList = remarkService.getTjProIdsByTjNumAndPacIc(order.getTjNumber(),order.getPacId()); + TjPackage aPackage = tjPackageService.getById(order.getPacId()); + for (Long aLong : longList) { + Map<String, Object> map = new HashMap<>(); + map.put("pacName",aPackage.getPacName()); + map.put("pacId",String.valueOf(aPackage.getPacId())); + map.put("parentName", projectService.getById(aLong).getProName()); + map.put("list",projectService.getTjProjectListBySoneId(String.valueOf(aLong))); + BigDecimal proPrice = projectService.getById(aLong).getProPrice(); + map.put("ordPrice", proPrice); + map.put("nowPrice",tjPackageProjectService.getPacProPriceByPacIdAndPro(aLong,order.getPacId())); + list.add(map); + } + + List<Long> longList1 = remarkService.getTjProIdsByTjNumAndPacIc(order.getTjNumber(),order.getPacId()); + for (Long aLong : longList1) { + Map<String, Object> map = new HashMap<>(); + map.put("pacName", "鍗曢」"); + map.put("proId",aLong); + map.put("pacId",null); + map.put("parentName", projectService.getById(aLong).getProName()); + map.put("list",projectService.getTjProjectListBySoneId(String.valueOf(aLong))); + BigDecimal proPrice = projectService.getById(aLong).getProPrice(); + map.put("ordPrice", proPrice); + map.put("nowPrice", proPrice); + list.add(map); + } + } + return AjaxResult.success(list); + } + } + return AjaxResult.success("鏆傛棤鍘嗗彶璁板綍"); + } + } -- Gitblit v1.8.0