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 | 373 ++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 312 insertions(+), 61 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 ccca65b..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;
@@ -81,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;
@@ -242,6 +245,8 @@
private TjOrderYcxmService ycxmService;
@Autowired
private TbTransitionMapper tbTransitionMapper;
+ @Autowired
+ private UtilsService utilsService;
private static final String TJH = "tjhs:tjh";
@@ -1040,12 +1045,13 @@
}
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");
}
@@ -1506,6 +1512,21 @@
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());
@@ -1520,17 +1541,80 @@
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);
@@ -1549,6 +1633,107 @@
return AjaxResult.error();
}
}
+ 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;
}
@@ -2862,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);
}
}
@@ -3214,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");
@@ -3234,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")) {
@@ -3294,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("绛惧埌璁板綍涓嶅瓨鍦�!");
}
@@ -3471,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()));
@@ -3495,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);
@@ -3533,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));
@@ -3585,7 +3788,7 @@
TjFlowingWater water = tjFlowingWaterService.getOne(wrapper);
if (water.getPayStasus() == 0L) {
weizhifu.add(water);
- } else {
+ } else if (water.getPayStasus() == 1L){
yizhifu.add(water);
}
}
@@ -3595,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) {
@@ -3683,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);
@@ -3693,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("鎾ら攢澶辫触");
}
}
}
@@ -3711,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)) {
@@ -3723,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());
}
@@ -3780,6 +4003,34 @@
}
+ @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("鎿嶄綔鎴愬姛!");
+ }
+
+
@PostMapping("/zongjanyemianshjianzhou")
@ApiOperation(value = "鎬绘鑾峰彇鏃堕棿杞存帴鍙�")
@Transactional
--
Gitblit v1.8.0