From a9e42bd044e835f49a08b9d5852ef10e669cd153 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期一, 15 七月 2024 18:00:07 +0800 Subject: [PATCH] zjh 2024/07/15-1 --- ltkj-admin/src/main/java/com/ltkj/web/controller/app/CustomerController.java | 112 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 97 insertions(+), 15 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/app/CustomerController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/app/CustomerController.java index b9085b3..7f18c74 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/app/CustomerController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/app/CustomerController.java @@ -1,27 +1,41 @@ package com.ltkj.web.controller.app; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ltkj.common.annotation.RepeatSubmit; import com.ltkj.common.core.controller.BaseController; import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.core.domain.entity.SysDictData; import com.ltkj.common.utils.StringUtils; import com.ltkj.framework.config.MatchUtils; +import com.ltkj.hosp.domain.HisApiConfig; import com.ltkj.hosp.domain.TjCustomer; import com.ltkj.hosp.domain.TjOrder; +import com.ltkj.hosp.service.HisApiConfigService; import com.ltkj.hosp.service.ITjCustomerService; import com.ltkj.hosp.service.ITjOrderService; +import com.ltkj.system.service.ISysConfigService; import com.ltkj.system.service.ISysDictTypeService; +import com.ltkj.web.controller.his.HisApiGetMethodService; +import com.ltkj.web.controller.his.HisApiMethodService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.util.DigestUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Date; import java.util.List; +import java.util.Map; /** @@ -41,6 +55,16 @@ @Autowired private ISysDictTypeService dictTypeService; + + @Resource + private ISysConfigService sysConfigService; + + @Autowired + private HisApiConfigService hisApiConfigService; + @Autowired + private HisApiMethodService controller; + @Autowired + private HisApiGetMethodService hisApiGetMethodService; /** * 灏忕▼搴忓氨璇婁汉鍒楄〃 @@ -83,6 +107,8 @@ */ @PostMapping("/addNew") @ApiOperation(value = "灏忕▼搴�-鏂板骞剁粦瀹氬氨璇婁汉") + @Transactional + @RepeatSubmit public AjaxResult addNew(@RequestBody @ApiParam(value = "瀹㈡埛瀵硅薄淇℃伅") TjCustomer tjCustomer) { if (tjCustomer == null) { return AjaxResult.error("娣诲姞澶辫触"); @@ -110,22 +136,19 @@ wq.eq(TjCustomer::getCusIdcard, cusIdcard); TjCustomer customer = customerService.getOne(wq); + String key = sysConfigService.selectConfigByKey("sfkqdyhis"); + if (customer != null) { -// BeanUtils.copyBeanProp(tjCustomer, customer); -// String substring = cusIdcard.substring(cusIdcard.length() - 6); -// substring = DigestUtils.md5DigestAsHex(substring.getBytes()); -// customer.setCusPassword(substring); -// customer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(cusIdcard), "yyyy-MM-dd")); -// tjCustomer.setCusSex(Long.valueOf(MatchUtils.getSexByIdCard(cusIdcard))); -// // tjCustomer.setAddr(MatchUtils.getNativePlace(Integer.parseInt(cusIdcard))); -// tjCustomer.setAge(String.valueOf(MatchUtils.getAgeByIdCard(cusIdcard))); -// tjCustomer.setIdType("1"); -// tjCustomer.setAgeUnit("0"); -// if (customerService.updateById(customer)) { -// return AjaxResult.success(tjCustomer); -// } customer.setConnect(tjCustomer.getConnect()); - customerService.updateById(customer); + if (customerService.updateById(customer)) { + if(null !=key && key.equals("Y")){ + AjaxResult xinXi = suijieHisXinXi(tjCustomer); + if(!xinXi.get("code").toString().equals("200")){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("娣诲姞灏辫瘖浜轰俊鎭け璐�!" + xinXi.get("msg").toString()); + } + } + } return AjaxResult.success(customer); } String substring = cusIdcard.substring(cusIdcard.length() - 6); @@ -142,6 +165,13 @@ tjCustomer.setCusNumber(0L); tjCustomer.setCusIsvip("N"); if (customerService.save(tjCustomer)) { + if(null !=key && key.equals("Y")){ + AjaxResult xinXi = suijieHisXinXi(tjCustomer); + if(!xinXi.get("code").toString().equals("200")){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("娣诲姞灏辫瘖浜轰俊鎭け璐�!" + xinXi.get("msg").toString()); + } + } return AjaxResult.success(tjCustomer); } return AjaxResult.error("娣诲姞澶辫触"); @@ -165,7 +195,7 @@ if (tjCustomer == null) { return AjaxResult.error(); } - LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper(); + LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); wq.eq(TjCustomer::getCusIdcard, tjCustomer.getCusIdcard()); wq.eq(TjCustomer::getCusPhone, tjCustomer.getCusPhone()); wq.eq(TjCustomer::getCusName, tjCustomer.getCusName()); @@ -196,10 +226,13 @@ */ @PostMapping("/updateCustomerBy") @ApiOperation(value = "灏忕▼搴�-淇敼灏辫瘖浜轰俊鎭�") + @Transactional + @RepeatSubmit public AjaxResult updateCustomerBy(@RequestBody TjCustomer tjCustomer) { if (tjCustomer == null) { return AjaxResult.error("淇敼澶辫触"); } + String key = sysConfigService.selectConfigByKey("sfkqdyhis"); TjCustomer one = customerService.getById(tjCustomer); one.setCusName(tjCustomer.getCusName()); one.setCusIdcard(tjCustomer.getCusIdcard()); @@ -207,6 +240,13 @@ one.setCusNational(tjCustomer.getCusNational()); one.setCusMarryStatus(tjCustomer.getCusMarryStatus()); if (customerService.updateById(one)) { + if(null !=key && key.equals("Y")){ + AjaxResult xinXi = suijieHisXinXi(one); + if(!xinXi.get("code").toString().equals("200")){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("娣诲姞灏辫瘖浜轰俊鎭け璐�!" + xinXi.get("msg").toString()); + } + } return AjaxResult.success(one); } return AjaxResult.error("淇敼澶辫触"); @@ -246,4 +286,46 @@ return success(data); } + + + //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡 + public JSONObject getJSONObject(String builder) { + String Response = JSONUtil.parseObj(builder).getStr("Response"); + return JSONUtil.parseObj(Response); + } + + //鑾峰彇鏂规硶杩斿洖鍊间俊鎭� + public String getAjaxResult(AjaxResult result) { + return result.get("data").toString(); + } + + + private AjaxResult suijieHisXinXi(TjCustomer tjCustomer) { + AjaxResult result = controller.Outpincreateapply(tjCustomer); + String result1 = getAjaxResult(result); + JSONObject object = getJSONObject(result1); + String code = object.getStr("ResultCode"); + if (code.equals("0")) { + JSONArray resultDatass = object.getJSONArray("ResultData"); + Map<String, Object> resultData = (Map<String, Object>) resultDatass.get(0); + if (null != resultData && resultData.size() > 0) { + String pationid = resultData.get("PationId").toString(); + if (null != pationid) { + tjCustomer.setPationId(pationid); + customerService.updateById(tjCustomer); + //淇濆瓨娉ㄥ唽鍏ュ弬鍑哄弬 + resultData.put("cardId",pationid); + JSONObject object4 = JSONUtil.parseObj(resultData); + LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpincreateapply"); + HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); + hisApiGetMethodService.save(object4, "Outpincreateapply", hisApiConfig, JSONUtil.toJsonStr(BeanUtil.beanToMap(tjCustomer))); + } + + } + return AjaxResult.success(); + } + return AjaxResult.error(object.getStr("ResultContent")); + } + } -- Gitblit v1.8.0