From a825d8faec61b2d3582cdb79d256fb1b412a80da Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期三, 27 三月 2024 08:34:01 +0800 Subject: [PATCH] zjh 2024/03/27-1 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java | 159 ++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 127 insertions(+), 32 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java index 5d2693d..162502c 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java @@ -5,33 +5,31 @@ import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.common.enums.DataSourceType; -import com.ltkj.common.utils.bean.BeanUtils; import com.ltkj.framework.config.MatchUtils; import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; import com.ltkj.hosp.domain.TjReservation; import com.ltkj.hosp.mapper.TestMapper; -import com.ltkj.hosp.service.ITjReservationService; -import com.ltkj.hosp.service.TjvLtkjvtjpatService; +import com.ltkj.hosp.service.*; +import com.ltkj.hosp.sqlDomain.LtkjMiddleDetail; +import com.ltkj.hosp.sqlDomain.LtkjMiddleHead; import com.ltkj.hosp.sqlDomain.LtkjTjPat; import com.ltkj.system.service.ISysConfigService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.util.DigestUtils; import org.springframework.web.bind.annotation.*; -import com.ltkj.common.annotation.Log; import com.ltkj.common.core.controller.BaseController; import com.ltkj.common.core.domain.AjaxResult; -import com.ltkj.common.enums.BusinessType; import com.ltkj.hosp.domain.TjCustomer; -import com.ltkj.hosp.service.ITjCustomerService; import com.ltkj.common.utils.poi.ExcelUtil; import com.ltkj.common.core.page.TableDataInfo; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** @@ -57,6 +55,43 @@ private TestMapper testMapper; @Resource private TjvLtkjvtjpatService tjvLtkjvtjpatService; + @Resource + private LtkjMiddleHeadService headService; + @Resource + private LtkjMiddleDetailService middleDetailService; + @Resource + private ITjOrderService tjOrderService; + + @GetMapping("/newGetTjPat") + @ApiOperation(value = "鏌ヨhis鏁版嵁搴撹繑鍥炴柊鐨勬暟鎹�") + public AjaxResult newGetTjPat(@RequestParam(required = false)String pacCode, + @RequestParam(required = false)String pacName, + @RequestParam(required = false)String pacRemark) { + List<Map<String, Object>> maps = testMapper.newGetTjPat(pacCode,pacName,pacRemark); + DynamicDataSourceContextHolder.clearDataSourceType(); +// List<Map<String, Object>> list=new ArrayList<>(); +// if(null !=maps && maps.size()>0){ +// for (Map<String, Object> map : maps) { +// String pacCode1 = map.get("pacCode").toString(); +// List<String> s = tjOrderService.selectTjOrderByCardId1(); +// if(null !=s && s.size()>0){ +// if(s.contains(pacCode1)){ +//// maps.remove(map); +// continue; +// } +// list.add(map); +// } +// } +// } + List<String> strings = tjOrderService.selectTjOrderByCardId1(); + if(null !=strings && strings.size()>0){ + List<Map<String, Object>> collect = maps.stream() + .filter(item -> !strings.contains(item.get("pacCode").toString())).collect(Collectors.toList()); + return AjaxResult.success(collect); + } + return AjaxResult.success(maps); +// return AjaxResult.success(maps); + } @@ -65,33 +100,68 @@ */ @PostMapping(value = "/cusIdcard") @ApiOperation(value = "鏍规嵁韬唤璇佸彿鑾峰彇鐢ㄦ埛淇℃伅") - @Log(title = "瀹㈡埛韬唤淇℃伅", businessType = BusinessType.EXPORT) +// @Log(title = "瀹㈡埛韬唤淇℃伅", businessType = BusinessType.EXPORT) public AjaxResult getInfoByIdCard(@RequestParam @ApiParam(value = "瀹㈡埛韬唤璇佸彿") String cusIdcard) { if (!"".equals(cusIdcard) && cusIdcard != null) { //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ - // TODO: 2023/2/10 鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ - if(cusIdcard.length()==18){ - if (! MatchUtils.isIdCard(cusIdcard)) { - return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); - } - } - if(cusIdcard.length()==9){ - if (!MatchUtils.cardValidates(cusIdcard)) { - return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); - } - } +// if(cusIdcard.length()==18){ +// if (! MatchUtils.isIdCard(cusIdcard)) { +// return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); +// } +// } +// if(cusIdcard.length()==9){ +// if (!MatchUtils.cardValidates(cusIdcard)) { +// return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); +// } +// } //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 final String getInfoFromSqlData = sysConfigService.selectConfigByKey("getInfoFromSqlData"); if ("Y".equals(getInfoFromSqlData)){ - LtkjTjPat tjPatByIdCard = testMapper.getTjPatByIdCard(cusIdcard); - List<LtkjTjPat> list = testMapper.getTjPat(); - DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); - for (LtkjTjPat ltkjTjPat : list) { - final boolean save = tjvLtkjvtjpatService.save(ltkjTjPat); - } - DynamicDataSourceContextHolder.clearDataSourceType(); + //鏍规嵁韬唤璇佸彿浠巋is鏌ヤ俊鎭� + LtkjTjPat tjPatByIdCard = testMapper.getTjPatByIdCard(cusIdcard); + if(null != tjPatByIdCard){ + String fcardNo = tjPatByIdCard.getFcardNo(); + if(null !=fcardNo && !fcardNo.equals("")){ + fcardNo=fcardNo.trim(); + tjPatByIdCard.setFcardNo(fcardNo); + }else { + fcardNo=cusIdcard.trim(); + tjPatByIdCard.setFcardNo(fcardNo); + } + //鏍规嵁韬唤璇佸彿浠庢暟鎹簱鎷夸俊鎭� 娌℃湁鐨勮瘽淇濆瓨 + LtkjTjPat ltkjTjPat = tjvLtkjvtjpatService.getLtkjTjPatByCusIdCard(cusIdcard); + if(null==ltkjTjPat){ + tjvLtkjvtjpatService.save(tjPatByIdCard); + } + DynamicDataSourceContextHolder.clearDataSourceType(); + //鍐嶆牴鎹韩浠借瘉鍙峰啓customer琛� + TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(tjPatByIdCard.getFcardNo()); + if(null == tjCustomer){ + //涓虹┖鐨勮瘽鎺夊瓨鍌ㄨ繃绋嬩繚瀛樺埌瀹㈡埛琛� + testMapper.getTjPatByCusId(cusIdcard); + LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>(); + qw.eq(TjCustomer::getCusIdcard, tjPatByIdCard.getFcardNo()); + TjCustomer customer = tjCustomerService.getOne(qw); + customer.setReservationId(customer.getCardId()); + extracted(customer); + return success(customer); + }else { + String cardId = tjPatByIdCard.getFcardId(); + if(null !=cardId && !cardId.equals("0")){ + int i = tjOrderService.selectTjOrderByCardId(cardId); + if(i>0){ + return AjaxResult.error("涓嶅彲閲嶅绛惧埌"); + } - testMapper.getTjPatByCusId(cusIdcard); + } + tjCustomer.setReservationId(tjCustomer.getCardId()); + tjCustomer.setCardId(tjPatByIdCard.getFcardId()); + tjCustomerService.updateById(tjCustomer); + extracted(tjCustomer); + return success(tjCustomer); + } + + } } //end====2023.12.12 LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>(); @@ -132,8 +202,6 @@ tjCustomer1.setReservationId(tjReservation.getId()); tjCustomer1.setDiscount(tjReservation.getDiscount()); tjCustomer1.setGroupingId(tjReservation.getGroupingId()); - - return success(tjCustomer1); } TjCustomer tjCustomer = new TjCustomer(); @@ -174,6 +242,30 @@ return AjaxResult.success("鏆傛棤棰勭害淇℃伅",tjCustomer); } return error("韬唤璇佸彿涓嶅瓨鍦�"); + } + + private void extracted(TjCustomer customer) { + //浠巋is琛ㄦ姄鏁版嵁 + LtkjMiddleHead pat = testMapper.getMiddleHeadByPartId(customer.getCardId()); + if (null != pat) { + 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()); + middleDetailService.remove(wq0); + List<LtkjMiddleDetail> list = testMapper.getMiddleDetailByFeadId(pat.getFeadId()); + DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); + LtkjMiddleHead o = headService.getMiddleHeadByPartId(customer.getCardId()); + if(o==null){ + headService.save(pat); + for (LtkjMiddleDetail ltkjMiddleDetail : list) { + middleDetailService.save(ltkjMiddleDetail); + } + } + testMapper.saveTjProByCusId(customer.getCardId(), customer.getCusIdcard()); + } + DynamicDataSourceContextHolder.clearDataSourceType(); } @@ -233,9 +325,10 @@ if(null !=tjCustomer.getIdType()){ if(tjCustomer.getIdType().equals("1")){ b = MatchUtils.isIdCard(cusIdcard); - }else { - b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType()); } +// else { +// b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType()); +// } }else { return AjaxResult.error("璇烽�夋嫨璇佷欢绫诲瀷"); } @@ -260,7 +353,9 @@ String substring = cusIdcard.substring(cusIdcard.length() - 6); substring = DigestUtils.md5DigestAsHex(substring.getBytes()); tjCustomer.setCusPassword(substring); - tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd")); + if(tjCustomer.getIdType().equals("1")){ + tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd")); + } tjCustomer.setCusNumber(0L); if (tjCustomerService.save(tjCustomer)) { return AjaxResult.success(tjCustomer); -- Gitblit v1.8.0