From a28c894d35b5ca697bfe455c2d584c7f28ec3722 Mon Sep 17 00:00:00 2001 From: lige <bestlige@outlook.com> Date: 星期五, 15 十二月 2023 15:51:59 +0800 Subject: [PATCH] 优化项目列表 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 202 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 194 insertions(+), 8 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 a6cf3b9..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; @@ -23,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; @@ -63,7 +71,7 @@ */ @RestController @RequestMapping("/hosp/order") -@Api(tags = "浣撴璁板綍鎺ュ彛") +@Api(tags = "PC绔� ----浣撴璁板綍鎺ュ彛") @Slf4j public class TjOrderController extends BaseController { @Resource @@ -92,8 +100,6 @@ private String value; @Resource private ITjOrderRemarkService remarkService; - @Resource - private ITjTeamSelectRecordService selectRecordService; @Resource private TjAsyncService asyncService; @Resource @@ -131,6 +137,18 @@ @Autowired private ITjAskMedicalHistoryService tjAskMedicalHistoryService; + + @Autowired + private ITjReportGetAddressService tjReportGetAddressService; + + @Resource + private TestMapper testMapper; + + @Resource + private LtkjMiddleDetailService middleDetailService; + + @Resource + private LtkjMiddleHeadService headService; /** @@ -432,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; @@ -483,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)); } @@ -771,7 +791,7 @@ */ @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); @@ -807,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()) { @@ -838,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); @@ -854,6 +884,41 @@ 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()); String s1 = SecurityUtils.getUsername() + new SimpleDateFormat("yyMMddHHmmssSSS").format(date1); @@ -891,7 +956,6 @@ //鍥綋 if ("1".equals(tjOrder.getTjType())) { - tjOrder.setFirmDeptId(tjOrder.getPacId()); asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater); } @@ -902,6 +966,30 @@ // 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(); @@ -1613,4 +1701,102 @@ 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