From 0a68d1ae4a7e797342cf039a757fae4fc357faef Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 07 八月 2025 08:46:07 +0800
Subject: [PATCH] zjh202500807
---
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 890 ++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 584 insertions(+), 306 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 a495528..ed72e7d 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
@@ -14,6 +14,7 @@
import java.util.concurrent.*;
import java.util.concurrent.locks.ReentrantLock;
import java.util.stream.Collectors;
+import java.util.stream.IntStream;
import java.util.stream.Stream;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -46,6 +47,7 @@
import com.ltkj.common.core.redis.RedisCache;
import com.ltkj.common.enums.DataSourceType;
import com.ltkj.common.utils.*;
+import com.ltkj.db.DataSourceContextHolder;
import com.ltkj.framework.config.MatchUtils;
import com.ltkj.framework.config.ThreadPoolConfig;
import com.ltkj.framework.config.UserHoder;
@@ -56,6 +58,7 @@
import com.ltkj.hosp.dto.UpdateTransitionnewPriceDto;
import com.ltkj.hosp.hisDto.OutpinimpapplyDto;
import com.ltkj.hosp.hisDto.OutpinmedicapplyDto;
+import com.ltkj.hosp.idutil.IdUtils;
import com.ltkj.hosp.mapper.TbTransitionMapper;
import com.ltkj.hosp.mapper.TestMapper;
import com.ltkj.hosp.mapper.TjSamplingMapper;
@@ -80,6 +83,7 @@
import com.ltkj.web.controller.lis.LisApiMethod;
import com.ltkj.web.controller.pacs.PacsApiMethodService;
import com.ltkj.web.controller.service.TjSysAsyncServiceImpl;
+import com.ltkj.web.controller.service.UtilsService;
import com.ltkj.web.wxUtils.HttpClientUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -94,6 +98,7 @@
import org.springframework.http.HttpRequest;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.NoTransactionException;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@@ -142,8 +147,8 @@
private ITbTransitionService transitionService;
@Resource
private ISysConfigService configService;
- @Value("${path.filePath}")
- private String value;
+// @Value("${path.filePath}")
+// private String value;
@Resource
private ITjOrderRemarkService remarkService;
@Resource
@@ -240,6 +245,8 @@
private TjOrderYcxmService ycxmService;
@Autowired
private TbTransitionMapper tbTransitionMapper;
+ @Autowired
+ private UtilsService utilsService;
private static final String TJH = "tjhs:tjh";
@@ -1032,17 +1039,19 @@
if (null != tjReservation.getPacId()) tjOrder.setPacId(tjReservation.getPacId());
if (null != tjReservation.getTjCategory()) tjOrder.setTjCategory(tjReservation.getTjCategory());
if (null != tjReservation.getGroupingId()) {
+ TjDwGrouping dwGrouping = dwGroupingService.getById(tjReservation.getGroupingId());
tjOrder.setGroupId(tjReservation.getGroupingId());
- tjOrder.setFirmDeptId(tjReservation.getPacId());
+ tjOrder.setFirmDeptId(dwGrouping.getDwDeptId());
}
tjReservation.setIsExpire(1);
tjReservationService.updateById(tjReservation);
- if (null != tjReservation.getTeamNo() && tjOrder.getTjType().equals("1")) {
- tjOrder.setTjType("1");
- } else if (tjOrder.getTjType().equals("2")) {
- tjOrder.setTjType("2");
- }
+// if (null != tjReservation.getTeamNo() && tjOrder.getTjType().equals("1")) {
+// tjOrder.setTjType("1");
+// } else if (tjOrder.getTjType().equals("2")) {
+// tjOrder.setTjType("2");
+// }
}
+ utilsService.saveCustomerSfzImg(tjOrder.getSfzImg(), DataSourceContextHolder.getDataSourceKey(), String.valueOf(tjCustomer.getCusId()));
if (StringUtil.isBlank(tjOrder.getFirmId())) {
tjOrder.setFirmId("0");
}
@@ -1086,7 +1095,9 @@
return result;
}
}catch (Exception e){
- log.error(String.valueOf(e));
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ log.error(String.valueOf(e),e.getMessage());
+ e.printStackTrace();
}
finally {
lock.unlock();
@@ -1094,7 +1105,8 @@
return AjaxResult.error();
}
- @Transactional(propagation = Propagation.REQUIRES_NEW, isolation = Isolation.READ_COMMITTED)
+
+ @Transactional(propagation = Propagation.REQUIRED)
public AjaxResult processOrderWithTransaction(TjOrder tjOrder, TjCustomer tjCustomer, TjReservation tjReservation, TjFlowingWater tjFlowingWater, MallOrder mallOrder, SysUser sysUser) {
//鑾峰彇鎷兼帴鍓嶇紑
@@ -1105,10 +1117,38 @@
// if(StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber=makeLisTmhPrefix+tjNumber;
- String tjNumber = (SecurityUtils.getUsername() + idUtils.getTjNumber());
- if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber;
- tjOrder.setTjNumber(tjNumber);
+// String tjNumber = (SecurityUtils.getUsername() + idUtils.getTjNumber());
+// String tjNumber = idUtils.getTjNumber();
+ String tjNumber = null;
+ int a =0;
+ while (tjNumber ==null){
+ if(a>3){
+ throw new RuntimeException("鍓嶆柟鎷ユ尋,璇风◢绛�!!!");
+ }
+ try {
+ String newTjNumberRedisLockAndMysql = idUtils.getNewTjNumberRedisLockAndMysql();
+ if (StringUtil.isNotBlank(makeLisTmhPrefix)){
+ String tjh= makeLisTmhPrefix + newTjNumberRedisLockAndMysql;
+ int countByTjNum = tjOrderService.getOrderCountByTjNum(tjh);
+ if(countByTjNum==0){
+ tjNumber=tjh;
+ }
+ }else {
+ int countByTjNum = tjOrderService.getOrderCountByTjNum(newTjNumberRedisLockAndMysql);
+ if(countByTjNum==0){
+ tjNumber=newTjNumberRedisLockAndMysql;
+ }
+ }
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ throw new IllegalStateException();
+ }finally {
+ a++;
+ }
+ }
+
+ tjOrder.setTjNumber(tjNumber);
BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount()));
tjOrder.setDiscount(discount.toString());
@@ -1187,21 +1227,8 @@
}
}
- //淇敼姣忛」鐨勫師浠风幇浠�
-// transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), discount, tjOrder.getTjNumber());
//淇敼涓存椂琛ㄤ綋妫�鍙�
transitionService.updateTbTransitionTjNumByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber());
- //琛ュ樊浠�
- /* if(subtract.compareTo(BigDecimal.ZERO)>0){
- tjFlowingWater.setPaidIn(paidIn.add(subtract));
- TbTransition onwTbTransition = transitionService.getOnwTbTransition(tjCustomer.getCusIdcard(),tjOrder.getTjNumber());
- if(null !=onwTbTransition){
- log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+"缁�: "+onwTbTransition.getParentProName()+" "+onwTbTransition.getNowPrice()
- +" 琛ュ樊浠� "+subtract+" 鏈�缁堝緱 "+onwTbTransition.getNowPrice().add(subtract));
- onwTbTransition.setNowPrice(onwTbTransition.getNowPrice().add(subtract));
- transitionService.updateById(onwTbTransition);
- }
- }*/
if (tjFlowingWaterService.save(tjFlowingWater)) {
tjOrder.setTjSerialNumber(String.valueOf(tjFlowingWater.getTjSerialNumber()));
@@ -1211,15 +1238,21 @@
/*璋冪敤his鎺ュ彛*/
String config = configService.selectConfigByKey("sfkqdyhis");
if (null != config && config.equals("Y")) {
- AjaxResult result = hisApiMethod.HisApiMethods(tjCustomer, tjOrder);
- if (!result.get("code").toString().equals("200")) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- Object jzh = result.get("jzh");
- if (null != jzh && null != jzh.toString()) {
- hisApiMethod.ZfHisApiMethod(jzh.toString());
+ AjaxResult result = null;
+ try {
+ result = hisApiMethod.HisApiMethods(tjCustomer, tjOrder);
+ if (!result.get("code").toString().equals("200")) {
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ Object jzh = result.get("jzh");
+ if (null != jzh && null != jzh.toString()) {
+ hisApiMethod.ZfHisApiMethod(jzh.toString());
+ }
+ log.info("璇ョ櫥璁颁汉鎸傚彿澶辫触, 灏辫瘖鍙蜂负: " + tjOrder.getCardId());
+ return AjaxResult.error("鎸傚彿澶辫触!" + result.get("msg").toString());
}
- log.info("璇ョ櫥璁颁汉鎸傚彿澶辫触, 灏辫瘖鍙蜂负: " + tjOrder.getCardId());
- return AjaxResult.error("鎸傚彿澶辫触!" + result.get("msg").toString());
+ } catch (NoTransactionException e) {
+ log.error(e.getMessage());
+ throw new RuntimeException(e);
}
log.info("璇ョ櫥璁颁汉鐨刪is灏辫瘖鍙锋槸: " + tjOrder.getCardId());
@@ -1234,27 +1267,29 @@
newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
}*/
// 鏌ヨ 瀵规帴Lis銆丳acs鐢宠濡傛灉绫诲瀷鍖呭惈鍦ㄩ厤缃唴鍒欎娇鐢ㄥ鎺is銆乸acs
- if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
- // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁
- tjFlowingWater.setPayStasus(1L);
- newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
- AjaxResult ajaxResult = hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder, sysUser, result);
- if (!ajaxResult.get("code").toString().equals("200")) return ajaxResult;
- tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
- sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
- remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
- List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
- xdPictureService.saveBatch(xdPictureList);
-// List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
-// addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
- } else {
- newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
- List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
- addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
-
- hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId());
+ try {
+ if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
+ // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁
+ tjFlowingWater.setPayStasus(1L);
+ newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+ AjaxResult ajaxResult = hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder, sysUser, result);
+ if (!ajaxResult.get("code").toString().equals("200")) return ajaxResult;
+ tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
+ sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
+ remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
+ List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
+ xdPictureService.saveBatch(xdPictureList);
+ } else {
+ newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+ List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
+ addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
+ hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId());
+ }
+ return AjaxResult.success(tjNumber);
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ throw new RuntimeException(e);
}
- return AjaxResult.success(tjNumber);
} else {
tjCustomer.setCardId(tjOrder.getTjNumber());
tjCustomerService.updateById(tjCustomer);
@@ -1349,35 +1384,110 @@
// 鏌ヨ 瀵规帴Lis銆丳acs鐢宠濡傛灉绫诲瀷鍖呭惈鍦ㄩ厤缃唴鍒欎娇鐢ㄥ鎺is銆乸acs
- if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
- log.info("绛惧埌鐧昏杩涘叆鏈敹璐规柟娉�");
- // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁
- tjFlowingWater.setPayStasus(1L);
- newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
- tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
- sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
- remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
- List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
- xdPictureService.saveBatch(xdPictureList);
- List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
- log.info("绛惧埌鐧昏:閲囨牱鏁版嵁鏌ヨ涓暟"+detailList.size());
- addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
- return AjaxResult.success(tjNumber);
- } else {
- newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
- AjaxResult error = isRequestCommonHisApi(tjOrder, tjCustomer, tjFlowingWater);
- if (error != null) return error;
-// List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
-// addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
+ //瀵煎叆浜哄憳鏄惁鏀惰垂
+ String drrysfsf = configService.selectConfigByKey("drrysfsf");
+
+
+ try {
+ if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
+ if(StringUtil.isNotBlank(drrysfsf) && drrysfsf.equalsIgnoreCase("Y")){
+ if(null != tjReservation){
+ return isUseLisAndPacsRegister(tjOrder, tjCustomer, tjReservation, tjFlowingWater, sysUser, discount, tjNumber);
+ }else {
+ newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+ AjaxResult error = isRequestCommonHisApi(tjOrder, tjCustomer, tjFlowingWater);
+ if (error != null) return error;
+
+ return AjaxResult.success(tjNumber);
+ }
+ }
+ return isUseLisAndPacsRegister(tjOrder, tjCustomer, tjReservation, tjFlowingWater, sysUser, discount, tjNumber);
+
+ } else {
+ newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+ AjaxResult error = isRequestCommonHisApi(tjOrder, tjCustomer, tjFlowingWater);
+ if (error != null) return error;
+ }
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ throw new RuntimeException(e);
}
return AjaxResult.success(tjNumber);
-// pacsApiMethodService.OrderAdd(tjCustomer,tjOrder);
-// return AjaxResult.success(tjNumber);
}
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return AjaxResult.error();
}
+
+ private AjaxResult isUseLisAndPacsRegister(TjOrder tjOrder, TjCustomer tjCustomer, TjReservation tjReservation, TjFlowingWater tjFlowingWater, SysUser sysUser, BigDecimal discount, String tjNumber) {
+ try {
+ log.info("绛惧埌鐧昏杩涘叆鏈敹璐规柟娉�");
+ // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁
+ tjFlowingWater.setPayStasus(1L);
+ newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+ tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
+ sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
+ remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
+ List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
+ xdPictureService.saveBatch(xdPictureList);
+ List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
+ log.info("绛惧埌鐧昏:閲囨牱鏁版嵁鏌ヨ涓暟"+detailList.size());
+ addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
+ return AjaxResult.success(tjNumber);
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ throw new RuntimeException(e);
+ }
+ }
+
+ public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
+ try {
+ tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId()));
+ if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) {
+ tjOrderDetailService.saveJSYTjOrderDetailsByCusId(tjCustomer.getCusIdcard(),
+ String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId(), String.valueOf(tjFlowingWater.getTjSerialNumber()));
+ } else {
+ tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId());
+ }
+
+ tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId());
+
+ //娣诲姞remark琛ㄦ暟鎹�
+ if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) {
+ remarkService.saveJSYTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId()));
+
+ } else {
+ 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()));
+ remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
+ List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
+ xdPictureService.saveBatch(xdPictureList);
+ }
+ }
+ if (tjFlowingWater.getPayStasus() == 1L) {
+ tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
+ sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
+ tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn());
+ tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith());
+ tjFlowingWater.setPayType(4L);
+ tjFlowingWaterService.updateById(tjFlowingWater);
+ remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
+ // asyncService.addTjChargingStandard(tjOrder, transitionService.getTbTransitionListByCusId(tjCustomer.getCusIdcard(), tjOrder.getCardId()), sysUser);
+ List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
+ xdPictureService.saveBatch(xdPictureList);
+ }
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ throw new RuntimeException(e);
+ }
+ }
+
private AjaxResult isRequestCommonHisApi(TjOrder tjOrder, TjCustomer tjCustomer, TjFlowingWater tjFlowingWater) {
String s = configService.selectConfigByKey("is_request_common_his_api");
@@ -1401,6 +1511,22 @@
wrapper.gt(TbTransition::getNowPrice, 0);
List<TbTransition> list = tbTransitionService.list(wrapper);
+ BigDecimal zongjia = new BigDecimal("0.0");
+
+ // his鐩存帴鍗曞紑浣撴璐瑰崟椤圭洰鎬讳环缂栫爜
+ String tjfhisxmbm = configService.selectConfigByKey("tjfhisxmbm");
+ // 鏄惁寮�鍚痟is鐩存帴鍗曞紑浣撴璐瑰崟椤圭洰 N浣跨敤鏄庣粏寮�鍗� 鍏朵粬閮戒负鍗曢」鐩紑鎬讳环
+ String lycdzjhmxj = configService.selectConfigByKey("lycdzjhmxj");
+ // 鏄惁浣跨敤his浠锋牸浼犻�掕鍒� Y寮�鍚�
+ String sfsyhisjgrule = configService.selectConfigByKey("sfsyhisjgrule");
+ // his浠锋牸浼犻�掕鍒欎繚鐣欏緱浣嶆暟 榛樿2浣�
+ String sfsyhisjgrulebaoliuweishu = configService.selectConfigByKey("sfsyhisjgrulebaoliuweishu");
+ // his浠锋牸浼犻�掕鍒� 1鍥涜垗浜斿叆 2鐩存帴鑸嶅幓
+ String sfsyhisjgrulesconfig = configService.selectConfigByKey("sfsyhisjgrulesconfig");
+ // 浼犻�掗」鐩槸鍚︿娇鐢╤is绉戝
+ String isUseHisKs = configService.selectConfigByKey("isCreateMenZhenFyUseHisKs");
+ String createMenZhenFyZJUseHisKs = configService.selectConfigByKey("createMenZhenFyZJUseHisKs");
+
for (TbTransition transition : list) {
LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(TjProject::getProId, transition.getProId());
@@ -1411,19 +1537,85 @@
SysDept dept = sysDeptService.getOne(wrapper2);
JSONObject obj = JSONUtil.createObj();
- Integer sl = project.getSl();
+// Integer sl = project.getSl();
+ int sl = 1;
BigDecimal danjia = transition.getNowPrice();
BigDecimal allPrice = danjia.multiply(new BigDecimal(sl));
+ if (StrUtil.isNotBlank(sfsyhisjgrule) && sfsyhisjgrule.equalsIgnoreCase("Y")){
+ int baoliuweishu = 2;
+ if (StrUtil.isNotBlank(sfsyhisjgrulebaoliuweishu)){
+ try {
+ baoliuweishu = Integer.parseInt(sfsyhisjgrulebaoliuweishu);
+ } catch (NumberFormatException e) {
+ log.error("his浠锋牸浼犻�掕鍒欎繚鐣欎綅鏁拌浆鎹㈠紓甯� 閰嶇疆鍊�->{}\n{}{}",sfsyhisjgrulebaoliuweishu,e,e.getMessage());
+ return AjaxResult.error();
+ }
+ }
+ if (StrUtil.isNotBlank(sfsyhisjgrulesconfig) && !sfsyhisjgrulesconfig.equalsIgnoreCase("1")){
+ // 鍏朵粬鑷畾涔夌殑瑙勫垯璁$畻鏂规硶
+ }else {
+ // 鍥涜垗浜斿叆
+ danjia = danjia.setScale(baoliuweishu, RoundingMode.HALF_UP);
+ allPrice = danjia.multiply(new BigDecimal(sl)).setScale(baoliuweishu, RoundingMode.HALF_UP);
+ }
+ }
obj.putOpt("danJia", danjia);
obj.putOpt("jieSuanJe", allPrice);
obj.putOpt("shuliang", sl);
- obj.putOpt("zhiXingKs", dept.getDeptId());
- obj.putOpt("zhiXingKsMc", dept.getDeptName());
+ if (isUseHisKs.equalsIgnoreCase("Y")){
+ obj.putOpt("zhiXingKs", dept.getHisksid());
+ obj.putOpt("zhiXingKsMc", dept.getHisksmc());
+ }else {
+ obj.putOpt("zhiXingKs", dept.getDeptId());
+ obj.putOpt("zhiXingKsMc", dept.getDeptName());
+ }
obj.putOpt("shouFeiXmId", project.getHisXmbm());
obj.putOpt("shouFeiXmMc", project.getHisXmmc());
array.add(obj);
+ zongjia = zongjia.add(allPrice);
}
- map.put("feiYongInfoList", array);
+
+ if(StringUtil.isNotBlank(lycdzjhmxj) && lycdzjhmxj.equalsIgnoreCase("N")){
+ BigDecimal paidIn = tjFlowingWater.getPaidIn();
+ BigDecimal difference = zongjia.subtract(paidIn);
+ if (difference.compareTo(BigDecimal.ZERO) > 0) {
+ log.info("閲戦澶氬嚭浜嗭細{}",difference);
+ log.info("-----------------------鍘熸槑缁�-------------------------");
+ calculateTotalPrice(array,false);
+ log.info("-----------------------鏂版槑缁�-------------------------");
+ adjustPrice(array,paidIn);
+ zongjia = calculateTotalPrice(array,true);
+ } else if (difference.compareTo(BigDecimal.ZERO) < 0) {
+ log.info("閲戦缂哄皯浜嗭細{}", difference.abs());
+ log.info("-----------------------鍘熸槑缁�-------------------------");
+ calculateTotalPrice(array,false);
+ log.info("-----------------------鏂版槑缁�-------------------------");
+ adjustPrice(array,paidIn);
+ zongjia = calculateTotalPrice(array,true);
+ }
+ map.put("feiYongInfoList", array);
+ }else {
+ zongjia = tjFlowingWater.getPaidIn();
+ JSONArray zjarray = JSONUtil.createArray();
+ JSONObject obj = JSONUtil.createObj();
+ int sl = 1;
+ obj.putOpt("danJia", zongjia);
+ obj.putOpt("jieSuanJe", zongjia);
+ obj.putOpt("shuliang", sl);
+ if (isUseHisKs.equalsIgnoreCase("Y")){
+ if (StrUtil.isBlank(createMenZhenFyZJUseHisKs)) return AjaxResult.error();
+ obj.putOpt("zhiXingKs", createMenZhenFyZJUseHisKs);
+ }else {
+ obj.putOpt("zhiXingKs", "100");
+ }
+ obj.putOpt("zhiXingKsMc","浣撴涓績");
+ obj.putOpt("shouFeiXmId", tjfhisxmbm);
+ obj.putOpt("shouFeiXmMc", "浣撴璐�");
+ zjarray.add(obj);
+ map.put("feiYongInfoList", zjarray);
+ }
+
+ log.info("璋冪敤His鎺ュ彛鍓� 鏀惰垂鎬讳环:{}", zongjia.toString());
String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map);
JSONObject object = JSONUtil.parseObj(post);
@@ -1444,6 +1636,107 @@
return null;
}
+ /**
+ * 鍒ゆ柇鎬讳环鏄惁涓�鑷� 鏄惁杩涜浠锋牸琛ュ噺
+ * - 淇濊瘉鎵�鏈夊崟浠蜂笉涓鸿礋鏁�
+ * - 宸鍒嗘憡绛栫暐涓猴細骞冲潎鍒嗘憡 + 璇樊琛ユ渶鍚庝竴椤�
+ *
+ * @param items his浼犻�掔殑鏄庣粏椤圭洰
+ * @param targetTotal 鎬讳环
+ */
+ public static void adjustPrice(JSONArray items, BigDecimal targetTotal) {
+ BigDecimal actualTotal = BigDecimal.ZERO;
+ int size = items.size();
+
+ // 璁$畻鐩墠鏄庣粏闆嗗悎鎬讳环
+ for (int i = 0; i < size; i++) {
+ JSONObject item = items.getJSONObject(i);
+ BigDecimal danJia = item.getBigDecimal("danJia");
+ BigDecimal shuliang = item.getBigDecimal("shuliang");
+ BigDecimal jieSuanJe = danJia.multiply(shuliang).setScale(2, RoundingMode.HALF_UP);
+ item.set("jieSuanJe", jieSuanJe);
+ actualTotal = actualTotal.add(jieSuanJe);
+ }
+ BigDecimal diff = targetTotal.subtract(actualTotal).setScale(2, RoundingMode.HALF_UP);
+ // 鏃犻渶璋冩暣
+ if (diff.compareTo(BigDecimal.ZERO) == 0 || size == 0) {
+ return;
+ }
+
+ // 鍓╀綑寰呭垎鎽婂樊棰�
+ BigDecimal remainingDiff = diff;
+ for (int i = 0; i < size; i++) {
+ JSONObject item = items.getJSONObject(i);
+ BigDecimal danJia = item.getBigDecimal("danJia");
+ BigDecimal shuliang = item.getBigDecimal("shuliang");
+
+ if (shuliang.compareTo(BigDecimal.ZERO) == 0) continue;
+
+ // 鍒嗘憡姣斾緥锛堝钩鍧囧垎锛�
+ // 绀轰緥锛氳嫢鍓╀綑宸 remainingDiff = 1.50锛屽墿浣� 3 椤癸紝褰撳墠 portion = 1.50 梅 3 = 0.50
+ BigDecimal portion = remainingDiff.divide(new BigDecimal(size - i), 10, RoundingMode.HALF_UP);
+
+ // 鍒嗘憡鍒板崟浠蜂笂
+ // 绀轰緥锛歱ortion = 0.50锛宻huliang = 2锛宒eltaPerUnit = 0.25
+ BigDecimal deltaPerUnit = portion.divide(shuliang, 10, RoundingMode.HALF_UP);
+
+ // 璋冩暣鍗曚环锛氭柊鍗曚环 = 鍘熷崟浠� + 鍗曚綅宸
+ BigDecimal adjustedDanJia = danJia.add(deltaPerUnit).setScale(2, RoundingMode.HALF_UP);
+
+ // 闃叉璐熸暟浠锋牸
+ if (adjustedDanJia.compareTo(BigDecimal.ZERO) < 0) {
+ adjustedDanJia = BigDecimal.ZERO;
+ }
+
+ item.set("danJia", adjustedDanJia);
+ BigDecimal adjustedJieSuan = adjustedDanJia.multiply(shuliang).setScale(2, RoundingMode.HALF_UP);
+ item.set("jieSuanJe", adjustedJieSuan);
+
+ // 璁$畻鏈瀹為檯璋冩暣鐨勫樊棰濓紝缁х画鍒嗘憡鍓╀綑閮ㄥ垎
+ BigDecimal oldJieSuan = danJia.multiply(shuliang).setScale(2, RoundingMode.HALF_UP);
+ remainingDiff = remainingDiff.subtract(adjustedJieSuan.subtract(oldJieSuan));
+ }
+
+ // 鑻ヤ粛瀛樺湪灏忛宸锛堝鐢变簬鍥涜垗浜斿叆瀵艰嚧锛夛紝灏濊瘯鎶婂樊棰濊ˉ鍒版渶鍚庝竴椤�
+ if (remainingDiff.abs().compareTo(new BigDecimal("0.01")) > 0) {
+ JSONObject lastItem = items.getJSONObject(size - 1);
+ BigDecimal danJia = lastItem.getBigDecimal("danJia");
+ BigDecimal shuliang = lastItem.getBigDecimal("shuliang");
+ if (shuliang.compareTo(BigDecimal.ZERO) != 0) {
+ BigDecimal delta = remainingDiff.divide(shuliang, 10, RoundingMode.HALF_UP);
+ BigDecimal newDanJia = danJia.add(delta).setScale(2, RoundingMode.HALF_UP);
+ if (newDanJia.compareTo(BigDecimal.ZERO) < 0) {
+ newDanJia = BigDecimal.ZERO;
+ }
+ lastItem.set("danJia", newDanJia);
+ BigDecimal newJieSuan = newDanJia.multiply(shuliang).setScale(2, RoundingMode.HALF_UP);
+ lastItem.set("jieSuanJe", newJieSuan);
+ }
+ }
+ }
+
+ /**
+ * 鏄庣粏浠锋牸鏃ュ織杈撳嚭
+ * @param array
+ */
+ public static BigDecimal calculateTotalPrice(JSONArray array,Boolean isOverride) {
+ BigDecimal total = BigDecimal.ZERO;
+ for (int i = 0; i < array.size(); i++) {
+ JSONObject obj = array.getJSONObject(i);
+ BigDecimal danJia = new BigDecimal(obj.getStr("danJia", "0")).setScale(2, RoundingMode.HALF_UP);
+ BigDecimal shuliang = new BigDecimal(obj.getStr("shuliang", "0")).setScale(2, RoundingMode.HALF_UP);
+ BigDecimal jieSuanJe = danJia.multiply(shuliang).setScale(2, RoundingMode.HALF_UP);
+ obj.set("danJia", danJia);
+ obj.set("shuliang", shuliang);
+ obj.set("jieSuanJe", jieSuanJe);
+ total = total.add(jieSuanJe);
+ log.info(String.format("绗�%d椤� -> 鍗曚环: %s, 鏁伴噺: %s, 缁撶畻閲戦: %s", i + 1, danJia, shuliang, jieSuanJe));
+ }
+ log.info("鎬讳环涓�: {}", total.setScale(2, RoundingMode.HALF_UP));
+ if (isOverride) return total.setScale(2, RoundingMode.HALF_UP);
+ return null;
+ }
+
public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser, String jxbz) {
String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix");
String config = configService.selectConfigByKey("sfkqdyhis");
@@ -1452,6 +1745,8 @@
Date date = new Date();
String format = DateUtil.format(date, "yyMMddHHmmssSSS");
for (TjOrderDetail detail : detailList) {
+ int i = samplingService.isExistProId(order.getTjNumber(), String.valueOf(detail.getProId()));
+ if(i>0) continue;
TjSampling sampling = new TjSampling();
if (null == projectService.getById(detail.getProId())) continue;
TjProject project = projectService.getById(detail.getProId());
@@ -1563,12 +1858,17 @@
if (null != cusIds && !cusIds.isEmpty()) {
ExecutorService threadPools = Executors.newFixedThreadPool(cusIds.size());
for (String cusId : cusIds) {
- threadPools.execute(new Runnable() {
- @Override
- public void run() {
- getAjaxResults(cusId);
- }
- });
+
+// threadPools.execute(new Runnable() {
+// @Override
+// public void run() {
+ try {
+ getAjaxResults(cusId);
+ } catch (Exception e) {
+
+ }
+// }
+// });
}
LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>();
wq.in(TjCustomer::getCusIdcard, cusIds);
@@ -1614,72 +1914,17 @@
}
// TODO 鍥犱负鏈変綋妫�鍙蜂細鏌ュ嚭绌烘暟鎹� 鍏堜娇鐢ㄦ鏁版嵁 鎵撳嵃瀵艰瘖鍗�
if (!tjNumbers.isEmpty()) {
- /* Map<String, Object> map = null;
- try {
- map = PDFDocumentUtil.getDocument();
- Document document = (Document) map.get("document");
-// for (int i = 0; i < tjNumbers.size(); i++) {
- int i = 0;
- for (String tjNumber : tjNumbers) {
- try {
- List<Map<String, Object>> djdInfos = tjOrderService.selectDjdInfo(tjNumber);
- Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumber);
- if(null !=userInfo && null !=djdInfos && !djdInfos.isEmpty()){
- 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) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- //杩欓噷鍒犻櫎鐨勬槸杩欎釜浜烘墍鏈夐」鐩寘鎷ˉ褰曢」鐩�
- TjOrder order = tjOrderService.getOrderByTjNum(tjNumber);
- tjOrderService.deleteTjOrderByOrderId(order.getOrderId());
- tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId()));
- remarkService.deletedOrderRemarkByTjNum(tjNumber);
- tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId()));
-// transitionService.deletedTbTransitionByTjNum(tjNum);
- tjSamplingMapper.deleteByTjNumAndCusId(order.getTjNumber(), order.getUserId());
-
- TjReservation reservation = tjReservationService.getById(order.getReservationId());
- if(null !=reservation){
- reservation.setIsExpire(2);
- tjReservationService.updateById(reservation);
- transitionService.updateTbTransitionByTjNum(tjNumber);
- }
- 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) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- e.printStackTrace();
- }*/
Map<String,Object> map=new HashMap<>();
map.put("tjh",tjNumbers);
return AjaxResult.success("鎿嶄綔鎴愬姛",map);
}
+
if (!errTjh.isEmpty()){
Map<String,Object> map=new HashMap<>();
map.put("errtjh",errTjh);
return AjaxResult.success("浠ヤ笂浜哄憳绛惧埌澶辫触",map);
}
- return AjaxResult.success();
+ return AjaxResult.error();
}
// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return AjaxResult.error();
@@ -1758,51 +2003,59 @@
tjReservationService.updateById(tjReservation);
// return AjaxResult.error("瀵逛笉璧锋偍鐨勯绾﹀凡瓒呮椂璇烽噸鏂伴绾�");
}*/
- LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>();
- qw.eq(TjCustomer::getCusIdcard, cusIdcard);
- TjCustomer tjCustomer1 = tjCustomerService.getOne(qw);
- if (tjCustomer1 != null) {
- tjCustomer1.setTjType(tjReservation.getTjType());
- tjCustomer1.setCusName(tjReservation.getName());
- tjCustomer1.setCusSex(Long.valueOf(tjReservation.getSex()));
- tjCustomer1.setCusBrithday(tjReservation.getBirthday());
- tjCustomer1.setCusPhone(tjReservation.getPhoe());
- tjCustomer1.setCusEmail(tjReservation.getEmail());
- tjCustomer1.setCusAddr(tjReservation.getAddress());
- tjCustomer1.setCusMarryStatus(String.valueOf(tjReservation.getMarriage()));
- tjCustomer1.setCusNational(String.valueOf(tjReservation.getNation()));
- tjCustomer1.setIdType(tjReservation.getIdType());
- tjCustomer1.setAge(tjReservation.getAge());
- 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);
+ try {
+ LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>();
+ qw.eq(TjCustomer::getCusIdcard, cusIdcard);
+ TjCustomer tjCustomer1 = tjCustomerService.getOne(qw);
+ if (tjCustomer1 != null) {
+ tjCustomer1.setTjType(tjReservation.getTjType());
+ tjCustomer1.setCusName(tjReservation.getName());
+ tjCustomer1.setCusSex(Long.valueOf(tjReservation.getSex()));
+ tjCustomer1.setCusBrithday(tjReservation.getBirthday());
+ tjCustomer1.setCusPhone(tjReservation.getPhoe());
+ tjCustomer1.setCusEmail(tjReservation.getEmail());
+ tjCustomer1.setCusAddr(tjReservation.getAddress());
+ tjCustomer1.setCusMarryStatus(String.valueOf(tjReservation.getMarriage()));
+ tjCustomer1.setCusNational(String.valueOf(tjReservation.getNation()));
+ tjCustomer1.setIdType(tjReservation.getIdType());
+ tjCustomer1.setAge(tjReservation.getAge());
+ 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);
+ }
+ } catch (Exception e) {
+ throw new RuntimeException(e);
}
+ }else {
+ throw new RuntimeException();
}
+ }else {
+ throw new RuntimeException();
}
}
@@ -1894,7 +2147,8 @@
//鑾峰彇鎷兼帴鍓嶇紑
String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix");
- String tjNumber = (sysUser.getUserName() + idUtils.getTjNumber());
+// String tjNumber = (sysUser.getUserName() + idUtils.getTjNumber());
+ String tjNumber = idUtils.getNewTjNumberRedisLockAndMysql();
if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber;
@@ -2138,9 +2392,11 @@
transitionService.saveRedisTransitionByPacId(cusId, cardId, pacId);
//琛ュ樊浠�
- List<Map<String, Object>> cjMaps = groupingProService.huoquxiangmuchajia(pacId.toString(), cusId);
+ List<Map<String, Object>> cjMaps = transitionService.addTbhuoquxiangmuchajia(pacId.toString(), cusId);
if (null != cjMaps && !cjMaps.isEmpty()) {
+ log.info("璇ュ椁�"+pacId+"涓湁宸环:"+cjMaps.size()+"涓�");
for (Map<String, Object> cjMap : cjMaps) {
+ log.info("娣诲姞涓存椂琛ㄥ椁愭暟鎹椂鎵�閫夌殑宸环涓�:"+ cjMap.get("cj").toString());
transitionService.buxiangmuchajia(cusId, pacId.toString(), cjMap.get("xmid").toString(), new BigDecimal(cjMap.get("cj").toString()));
}
}
@@ -2791,10 +3047,12 @@
for (TbTransition tbTransition : list) {
if (tbTransition.getParentProId().toString().equals(project.getProId().toString())) {
JSONObject obj = JSONUtil.createObj();
+ TjOrderRemark remark = remarkService.getTjOrderRemarkByTjNumAndProParentId(tjNumber, tbTransition.getParentProId().toString());
obj.putOpt("index", index++);
obj.putOpt("parent_pro_name", tbTransition.getParentProName());
obj.putOpt("price", tbTransition.getOrdPrice());
obj.putOpt("ks", dept.getDeptName());
+ if(null !=remark) obj.putOpt("sfzt", remark.getSfbz());
huiZong.add(obj);
}
}
@@ -2827,50 +3085,6 @@
map.put("huizong", huiZong);
map.put("info", info);
return AjaxResult.success().put("data", map);
- }
-
-
- public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
- tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId()));
- if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) {
- tjOrderDetailService.saveJSYTjOrderDetailsByCusId(tjCustomer.getCusIdcard(),
- String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId(), String.valueOf(tjFlowingWater.getTjSerialNumber()));
- } else {
- tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId());
- }
-
- tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId());
-
- //娣诲姞remark琛ㄦ暟鎹�
- if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) {
- remarkService.saveJSYTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId()));
-
- } else {
- 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()));
- remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
- List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
- xdPictureService.saveBatch(xdPictureList);
- }
- }
- if (tjFlowingWater.getPayStasus() == 1L) {
- tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
- sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
- tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn());
- tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith());
- tjFlowingWater.setPayType(4L);
- tjFlowingWaterService.updateById(tjFlowingWater);
- remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
-// asyncService.addTjChargingStandard(tjOrder, transitionService.getTbTransitionListByCusId(tjCustomer.getCusIdcard(), tjOrder.getCardId()), sysUser);
- List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
- xdPictureService.saveBatch(xdPictureList);
- }
}
@@ -3054,9 +3268,9 @@
TjReport tjReport = new TjReport();
tjReport.setTjNumber(String.valueOf(tjNumber));
tjReport.setPath(urlValue + outputFileName1);
- String outputPath1 = value + File.separator;
- String pdfBinary = getPDFBinary(outputPath1 + outputFileName1);
- tjReport.setReport(pdfBinary);
+// String outputPath1 = value + File.separator;
+// String pdfBinary = getPDFBinary(outputPath1 + outputFileName1);
+// tjReport.setReport(pdfBinary);
tjReport.setType("浣撴鎶ュ憡");
tjReport.setPrint("pdf");
tjReportService.save(tjReport);
@@ -3187,16 +3401,17 @@
TjOrder order = tjOrderService.getOrderByTjNum(tjNum);
if (null != order) {
-// String payByTjNum = tjOrderService.isPayByTjNum(String.valueOf(order.getOrderId()));
-// if (null != payByTjNum) {
-// return AjaxResult.error("璇ョ敤鎴峰凡鏀惰垂涓嶅彲鎾ら攢绛惧埌!");
-// }
- if (null != order.getFinishTime()) return AjaxResult.error("璇ヤ汉鍛樺凡绛剧,涓嶅彲鎾ら攢!!!");
+
+ if (null != order.getPrintLastTime()) return AjaxResult.error("璇ヤ汉鍛樻姤鍛婂凡鎵撳嵃,涓嶅彲鎾ら攢!!!");
Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
+ String username = SecurityUtils.getUsername();
+ LambdaQueryWrapper<TjCustomer> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(TjCustomer::getCusId, order.getUserId());
+ TjCustomer tjCustomer = tjCustomerService.getOne(wrapper);
String s = configService.selectConfigByKey("is_request_common_his_api");
-// if (null != s && s.equals("Y") && "2".equals(order.getTjType())) {
+
if (null != s && s.equals("Y") && !useLisAndPacsRegister) {
String apiUrl = configService.selectConfigByKey("common_api_url");
String hospbm = configService.selectConfigByKey("common_api_service_hospbm");
@@ -3207,37 +3422,35 @@
wrapper1.eq(TjFlowingWater::getOrderId, order.getOrderId());
wrapper1.orderByDesc(TjFlowingWater::getJxbz);
List<TjFlowingWater> list = tjFlowingWaterService.list(wrapper1);
- LambdaQueryWrapper<TjCustomer> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(TjCustomer::getCusId, order.getUserId());
- TjCustomer tjCustomer = tjCustomerService.getOne(wrapper);
+
for (TjFlowingWater water : list) {
if (water.getPayStasus() == 0L) {
weizhifu.add(water);
- } else {
+ } else if (water.getPayStasus() == 1L){
yizhifu.add(water);
}
}
+ log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴峰嵆灏嗘挙閿� 浣撴鍙蜂负:"+tjNum+" 鐨勪綋妫�璁板綍;" );
AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order, true, tjNum);
- if (error != null && !error.get("code").toString().equals("200")) return error;
-
+ if (error != null && !error.get("code").toString().equals("200")){
+ log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+tjNum+" 骞朵笖鏈敮浠樼殑浣撴璁板綍; 鎾ら攢澶辫触!!!!" );
+ return error;
+ }else {
+ log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+tjNum+" 骞朵笖鏈敮浠樼殑浣撴璁板綍;" );
+ }
AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm, false, tjNum);
- if (error1 != null && !error.get("code").toString().equals("200")) return error1;
- } else {
- tjOrderService.deleteTjOrderByOrderId(order.getOrderId());
- tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId()));
- remarkService.deletedOrderRemarkByTjNum(tjNum);
- tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId()));
- transitionService.deletedTbTransitionByTjNum(tjNum);
- ycxmService.delOrderYcXmJyByTjh(tjNum);
+ if (error1 != null && !error.get("code").toString().equals("200"))
+ {
+ log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+tjNum+" 骞朵笖宸叉敮浠樼殑浣撴璁板綍; 鎾ら攢澶辫触!!!!" );
+ return error1;
+ }else {
+ log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+tjNum+" 骞朵笖宸叉敮浠樼殑浣撴璁板綍;" );
+ }
- TjCustomer customer = tjCustomerService.getById(order.getUserId());
- customer.setCardId("0");
- tjCustomerService.updateById(customer);
- xdPictureService.deleteTjXdPictureBytjNum(tjNum);
- tjSamplingMapper.deleteByTjNumAndCusId(tjNum, order.getUserId());
}
+
String configByKey = configService.selectConfigByKey("sfkqdyhis");
if (configByKey.equals("Y")) {
@@ -3267,8 +3480,21 @@
}
}
+
+ tjCustomer.setCardId("0");
+ tjCustomerService.updateById(tjCustomer);
+ /* tjOrderService.deleteTjOrderByOrderId(order.getOrderId());
+ tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId()));
+ remarkService.deletedOrderRemarkByTjNum(tjNum);
+ tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId()));
+ transitionService.deletedTbTransitionByTjNum(tjNum);
+ ycxmService.delOrderYcXmJyByTjh(tjNum);
+ xdPictureService.deleteTjXdPictureBytjNum(tjNum);
+ tjSamplingMapper.deleteByTjNumAndCusId(tjNum, order.getUserId());*/
+ tjOrderService.removeById(order.getOrderId());
+ return AjaxResult.success("鎾ら攢鎴愬姛");
}
- return AjaxResult.success("绛惧埌璁板綍涓嶅瓨鍦�!");
+ return AjaxResult.error("绛惧埌璁板綍涓嶅瓨鍦�!");
}
@@ -3444,11 +3670,9 @@
public AjaxResult revokeTjOrderByTjh(@RequestParam @ApiParam(value = "浣撴鍙�") String tjNum) {
TjOrder order = tjOrderService.getOrderByTjNum(tjNum);
+ String username = SecurityUtils.getUsername();
+ log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴峰嵆灏嗗己鍒舵挙閿� 浣撴鍙蜂负:"+tjNum+" 鐨勪綋妫�璁板綍;" );
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()));
@@ -3468,6 +3692,7 @@
TjOrder order = tjOrderService.getOrderByTjNum(tjNum);
if (null != order) {
+
LambdaQueryWrapper<TjProBl> wq = new LambdaQueryWrapper<>();
wq.eq(TjProBl::getTjh, tjNum);
List<TjProBl> blList = blService.list(wq);
@@ -3506,7 +3731,12 @@
}
TjOrder order = tjOrderService.getOrderByTjNum(dto.getTjh());
+ String username = SecurityUtils.getUsername();
if (null != order) {
+
+ if (null != order.getPrintLastTime()) return AjaxResult.error("璇ヤ汉鍛樻姤鍛婂凡鎵撳嵃,涓嶅彲鎾ら攢!!!");
+
+ log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴峰嵆灏嗘挙閿� 浣撴鍙蜂负:"+dto.getTjh()+"琛ュ綍鍗曞彿涓�: " + dto.getBldhs()+ " 鐨� 琛ュ綍浣撴璁板綍;" );
String configByKey = configService.selectConfigByKey("sfkqdyhis");
if (null != configByKey && configByKey.equals("Y")) {
log.info("dto鐨勬暟鎹槸" + JSONUtil.toJsonStr(dto));
@@ -3558,7 +3788,7 @@
TjFlowingWater water = tjFlowingWaterService.getOne(wrapper);
if (water.getPayStasus() == 0L) {
weizhifu.add(water);
- } else {
+ } else if (water.getPayStasus() == 1L){
yizhifu.add(water);
}
}
@@ -3568,22 +3798,34 @@
wrapper.eq(TjCustomer::getCusId, order.getUserId());
TjCustomer tjCustomer = tjCustomerService.getOne(wrapper);
AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order, true, dto.getTjh());
- if (error != null && !error.get("code").toString().equals("200")) return error;
+ if (error != null && !error.get("code").toString().equals("200"))
+ {
+ log.info("浣撴鍙蜂负:"+dto.getTjh()+"琛ュ綍鍗曞彿涓�: " + dto.getBldhs()+ " 骞朵笖鏈敮浠樼殑琛ュ綍浣撴璁板綍; 鎾ら攢澶辫触" );
+ return error;
+ }else {
+ log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+dto.getTjh()+"琛ュ綍鍗曞彿涓�: " + dto.getBldhs()+ " 骞朵笖鏈敮浠樼殑琛ュ綍浣撴璁板綍;" );
+ }
AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm, false, dto.getTjh());
- if (error1 != null && !error.get("code").toString().equals("200")) return error1;
- return AjaxResult.success();
- } else {
+ if (error1 != null && !error.get("code").toString().equals("200"))
+ {
+ log.info("浣撴鍙蜂负:"+dto.getTjh()+"琛ュ綍鍗曞彿涓�: " + dto.getBldhs()+ " 骞朵笖宸叉敮浠樼殑琛ュ綍浣撴璁板綍; 鎾ら攢澶辫触" );
+ return error1;
+ }else {
+ log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+dto.getTjh()+"琛ュ綍鍗曞彿涓�: " + dto.getBldhs()+ " 骞朵笖宸叉敮浠樼殑琛ュ綍浣撴璁板綍;" );
+ }
+ }
+
try {
extracted(dto, order);
} catch (Exception e) {
log.info("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�");
return AjaxResult.error("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�!");
}
- return AjaxResult.success();
- }
+ return AjaxResult.success("鎾ら攢鎴愬姛!");
+
}
- return AjaxResult.error();
+ return AjaxResult.error("鏈煡璇㈠埌浣撴璁板綍!");
}
private AjaxResult zuofeiYiZhifu(ArrayList<TjFlowingWater> yizhifu, TjCustomer tjCustomer, TjOrder order, String apiUrl, String hospbm, Boolean isDelete, String tjNum) {
@@ -3656,7 +3898,7 @@
String tfid = jsonObject.getJSONObject("data").getStr("feiYongId");
water.setHisTfWaterId(tfid);
tjFlowingWaterService.updateById(water);
- if (isDelete) {
+ /* if (isDelete) {
for (TjFlowingWater water1 : yizhifu) {
String bldh1 = water1.getJxbz();
remarkService.deleteTjOrderDetailByjxbz(bldh1);
@@ -3666,8 +3908,8 @@
blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, tjNum).eq(TjProBl::getBldh, bldh1));
tjSamplingMapper.deleteByTjNumAndCusIdAndJxbzo(tjNum, order.getUserId(), bldh1);
}
- }
- } else return AjaxResult.error();
+ }*/
+ } else return AjaxResult.error("鎾ら攢澶辫触");
}
}
}
@@ -3684,7 +3926,7 @@
String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/revokeCost", chexiaoMap);
if (JSONUtil.parseObj(post).getStr("code").equals("200")) {
- if (isDelete) {
+ /*if (isDelete) {
for (TjFlowingWater water : weizhifu) {
String bldh = water.getJxbz();
if (StrUtil.isNotBlank(bldh)) {
@@ -3696,31 +3938,39 @@
tjSamplingMapper.deleteByTjNumAndCusIdAndJxbzo(tjNum, order.getUserId(), bldh);
} else {
//杩欓噷鍒犻櫎鐨勬槸杩欎釜浜烘墍鏈夐」鐩寘鎷ˉ褰曢」鐩�
- tjOrderService.deleteTjOrderByOrderId(order.getOrderId());
+ *//* tjOrderService.deleteTjOrderByOrderId(order.getOrderId());
tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId()));
remarkService.deletedOrderRemarkByTjNum(tjNum);
tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId()));
transitionService.deletedTbTransitionByTjNum(tjNum);
- tjSamplingMapper.deleteByTjNumAndCusId(order.getTjNumber(), order.getUserId());
+ tjSamplingMapper.deleteByTjNumAndCusId(order.getTjNumber(), order.getUserId());*//*
+// TjCustomer customer = tjCustomerService.getById(order.getUserId());
+// customer.setCardId("0");
+// tjCustomerService.updateById(customer);
+// tjOrderService.removeById(order.getOrderId());
}
}
- }
- } else return AjaxResult.error();
+ }*/
+ } else return AjaxResult.error("鎾ら攢澶辫触");
}
return null;
}
// @Transactional(propagation =Propagation.REQUIRES_NEW)
public void extracted(TjProBlDto dto, TjOrder order) {
- for (String bldh : dto.getBldhs()) {
- remarkService.deleteTjOrderDetailByjxbz(bldh);
- tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh);
- tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh);
- transitionService.deleteTjOrderDetailByjxbz(bldh);
- blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, dto.getTjh()).eq(TjProBl::getBldh, bldh));
+ try {
+ for (String bldh : dto.getBldhs()) {
+ remarkService.deleteTjOrderDetailByjxbz(bldh);
+ tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh);
+ tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh);
+ transitionService.deleteTjOrderDetailByjxbz(bldh);
+ blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, dto.getTjh()).eq(TjProBl::getBldh, bldh));
+ }
+ tjSamplingMapper.deleteByTjNumAndCusIdAndJxbz(dto.getTjh(), order.getUserId(), dto.getBldhs());
+ } catch (Exception e) {
+ throw new RuntimeException(e);
}
- tjSamplingMapper.deleteByTjNumAndCusIdAndJxbz(dto.getTjh(), order.getUserId(), dto.getBldhs());
}
@@ -3748,6 +3998,34 @@
wq.eq(TjOrderRemark::getProId, proId);
TjOrderRemark remark = remarkService.getOne(wq);
remark.setType(2);
+ remarkService.updateById(remark);
+ return AjaxResult.success("鎿嶄綔鎴愬姛!");
+ }
+
+
+ @GetMapping("/chushenyemianyijianjiekou")
+ @ApiOperation(value = "鍒濆椤甸潰宸叉鎺ュ彛")
+ @Transactional
+ public AjaxResult chushenyemianyijianjiekou(@RequestParam String tjNUm, @RequestParam String proId) {
+ LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>();
+ wq.eq(TjOrderRemark::getTjNumber, tjNUm);
+ wq.eq(TjOrderRemark::getProId, proId);
+ TjOrderRemark remark = remarkService.getOne(wq);
+ remark.setType(1);
+ remarkService.updateById(remark);
+ return AjaxResult.success("鎿嶄綔鎴愬姛!");
+ }
+
+
+ @GetMapping("/chushenyemianchexiaojiekou")
+ @ApiOperation(value = "鍒濆椤甸潰鎾ら攢鎺ュ彛")
+ @Transactional
+ public AjaxResult chushenyemianchexiaojiekou(@RequestParam String tjNUm, @RequestParam String proId) {
+ LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>();
+ wq.eq(TjOrderRemark::getTjNumber, tjNUm);
+ wq.eq(TjOrderRemark::getProId, proId);
+ TjOrderRemark remark = remarkService.getOne(wq);
+ remark.setType(0);
remarkService.updateById(remark);
return AjaxResult.success("鎿嶄綔鎴愬姛!");
}
@@ -3927,16 +4205,6 @@
@GetMapping(value = "newgetTransitionList")
@ApiOperation(value = "鏈�鏂版煡璇㈣繃娓¤〃鏁版嵁")
public AjaxResult newgetTransitionList(@RequestParam @ApiParam(value = "瀹㈡埛id") String cusId) {
-// String pacId = transitionService.getTbTransitionPacId(cusId);
-// if(StringUtil.isNotBlank(pacId)){
-// //琛ュ樊浠�
-// List<Map<String,Object>> cjMaps = groupingProService.huoquxiangmuchajia(pacId, cusId);
-// if(null !=cjMaps && !cjMaps.isEmpty()){
-// for (Map<String, Object> cjMap : cjMaps) {
-// transitionService.buxiangmuchajia(cusId,pacId,cjMap.get("xmid").toString(),new BigDecimal(cjMap.get("cj").toString()));
-// }
-// }
-// }
List<TbTransition> list = transitionService.newgetTransitionList(cusId);
return AjaxResult.success(list);
}
@@ -3947,6 +4215,7 @@
public AjaxResult updateTransitionnewPrice(@RequestBody List<UpdateTransitionnewPriceDto> dtos) {
if (null != dtos && !dtos.isEmpty()) {
+ boolean flag = false;
for (UpdateTransitionnewPriceDto dto : dtos) {
LambdaQueryWrapper<TbTransition> wq = new LambdaQueryWrapper<>();
wq.eq(TbTransition::getCusId, dto.getCusIdCard());
@@ -3957,22 +4226,31 @@
log.info("鐖堕」鐩甶d涓�: " + dto.getParentProId());
log.info("鎶樻墸涓�: " + new BigDecimal(dto.getDiscount()));
if (null != list && !list.isEmpty()) {
- BigDecimal dxzj = transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(), dto.getParentProId());
+
for (TbTransition transition : list) {
BigDecimal ordPrice = transition.getOrdPrice();
BigDecimal multiply = ordPrice.multiply((new BigDecimal(dto.getDiscount()).divide(BigDecimal.valueOf(10))));
- log.info("鍚庣璁$畻鐨勯噾棰�: " + multiply);
+ log.info("鍚庣璁$畻鐨勯噾棰�: " + multiply.toString());
transition.setNowPrice(multiply);
transition.setDiscount(new BigDecimal(dto.getDiscount()));
transitionService.updateById(transition);
}
- if (null != dto.getYhj() && dto.getYhj().compareTo(BigDecimal.ZERO) >= 0) {
- List<TbTransition> transitionList = list.stream().filter(a ->
- transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(), dto.getParentProId()).subtract(dto.getYhj()).compareTo(BigDecimal.ZERO) >= 0).collect(Collectors.toList());
- if (!transitionList.isEmpty()) {
- TbTransition tbTransition = transitionList.get(0);
- tbTransition.setNowPrice(dxzj);
- transitionService.updateById(tbTransition);
+
+ BigDecimal dxzj = transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(), dto.getParentProId());
+
+ BigDecimal yhj = dto.getYhj();
+ log.info("鍓嶇浼犻�掔殑浠锋牸锛歿}",yhj.toString());
+ BigDecimal cj = yhj.subtract(dxzj);
+ log.info("璁$畻鐨勫樊浠凤細{}",cj.toString());
+ for (TbTransition transition : list) {
+ BigDecimal result = transition.getNowPrice().add(cj);
+ log.info("琛ヤ笂宸环鍓嶇殑浠锋牸涓猴細{}",transition.getNowPrice().toString());
+ if (result.compareTo(BigDecimal.ZERO)>0 && !flag && cj.compareTo(BigDecimal.ZERO) != 0){
+ transition.setNowPrice(result);
+ transitionService.updateById(transition);
+ log.info("淇敼 琛ヤ笂宸环鍚庣殑浠锋牸涓猴細{}",result.toString());
+ flag = true;
+ break;
}
}
}
--
Gitblit v1.8.0