From 6673c6d9ea7a9b58e0e88c739d7db38d4e9fd130 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期五, 03 一月 2025 00:03:34 +0800
Subject: [PATCH] zjh20250102

---
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java |   10 +++
 ltkj-admin/src/test/java/zjhTest.java                                           |   13 +---
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java            |   14 ++++
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java         |    5 +
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java  |   63 +++++++++++++++++++--
 ltkj-hosp/src/main/java/com/ltkj/hosp/dto/UpdateTransitionnewPriceDto.java      |   21 +++++++
 6 files changed, 108 insertions(+), 18 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 8bee3cd..93c2b26 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
@@ -53,6 +53,7 @@
 import com.ltkj.hosp.domain.*;
 import com.ltkj.hosp.dto.QianDaoDto;
 import com.ltkj.hosp.dto.TjProBlDto;
+import com.ltkj.hosp.dto.UpdateTransitionnewPriceDto;
 import com.ltkj.hosp.hisDto.OutpinimpapplyDto;
 import com.ltkj.hosp.hisDto.OutpinmedicapplyDto;
 import com.ltkj.hosp.mapper.TestMapper;
@@ -1132,11 +1133,18 @@
             Date date1 = new Date(System.currentTimeMillis());
             String s1 = SecurityUtils.getUsername() + new SimpleDateFormat("yyMMddHHmmssSSS").format(date1);
             tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(tjCustomer.getCusName(), "").toUpperCase() + s1);
+            BigDecimal copeWith = tjOrder.getTjFlowingWater().getCopeWith();
+            BigDecimal paidIn = tjOrder.getTjFlowingWater().getPaidIn();
 
+            tjFlowingWater.setCopeWith(copeWith);
+            tjFlowingWater.setPaidIn(paidIn);
+            tjFlowingWater.setDiscount(discount.toString());
 
-            tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith());
-            tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn());
-            tjFlowingWater.setDiscount(tjOrder.getTjFlowingWater().getDiscount());
+            BigDecimal subtract = paidIn.subtract(copeWith.multiply(discount.divide(BigDecimal.valueOf(10))));
+            log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+" 搴斾粯: "+copeWith);
+            log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+" 鎶樻墸: "+discount);
+            log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+" 瀹炰粯: "+paidIn);
+            log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+" 鐩稿樊: "+subtract);
 
             if (isPay.equals("true")) {
                 if (null != mallOrder) {
@@ -1166,13 +1174,26 @@
                     //                    tjFlowingWater.setPayStasus(0L);
                 }
             }
+
+            //淇敼姣忛」鐨勫師浠风幇浠�
+//            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()));
                 tjOrderService.updateById(tjOrder);
             }
-
-            //淇敼姣忛」鐨勫師浠风幇浠� //淇敼涓存椂琛ㄤ綋妫�鍙�
-            transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), discount, tjOrder.getTjNumber());
 
             /*璋冪敤his鎺ュ彛*/
             String config = configService.selectConfigByKey("sfkqdyhis");
@@ -3730,6 +3751,36 @@
         return AjaxResult.success(list);
     }
 
+    @PostMapping(value = "updateTransitionnewPrice")
+    @ApiOperation(value = "绛惧埌鐧昏椤甸潰鏍规嵁鎶樻墸淇敼椤圭洰鐜颁环")
+    @Transactional
+    public AjaxResult updateTransitionnewPrice(@RequestBody List<UpdateTransitionnewPriceDto> dtos) {
+
+        if(null !=dtos && !dtos.isEmpty()){
+            for (UpdateTransitionnewPriceDto dto : dtos) {
+                LambdaQueryWrapper<TbTransition> wq=new LambdaQueryWrapper<>();
+                wq.eq(TbTransition::getCusId,dto.getCusIdCard());
+                wq.eq(TbTransition::getParentProId,dto.getParentProId());
+                wq.isNull(TbTransition::getTjNum);
+                List<TbTransition> list = transitionService.list(wq);
+                log.info("淇敼鐨勫鎴疯韩浠借瘉鍙蜂负: "+dto.getCusIdCard());
+                log.info("鐖堕」鐩甶d涓�: "+dto.getParentProId());
+                log.info("鎶樻墸涓�: "+new BigDecimal(dto.getDiscount()));
+                if(null !=list && !list.isEmpty()){
+                    for (TbTransition transition : list) {
+                        BigDecimal ordPrice = transition.getOrdPrice();
+                        BigDecimal multiply = ordPrice.multiply((new BigDecimal(dto.getDiscount()).divide(BigDecimal.valueOf(10))));
+                        log.info("鍚庣璁$畻鐨勯噾棰�: "+multiply);
+                        transition.setNowPrice(multiply);
+                        transition.setDiscount(new BigDecimal(dto.getDiscount()));
+                        transitionService.updateById(transition);
+                    }
+                }
+            }
+        }
+        return AjaxResult.success();
+    }
+
 
 }
 
diff --git a/ltkj-admin/src/test/java/zjhTest.java b/ltkj-admin/src/test/java/zjhTest.java
index cc5b145..24ea44f 100644
--- a/ltkj-admin/src/test/java/zjhTest.java
+++ b/ltkj-admin/src/test/java/zjhTest.java
@@ -125,16 +125,9 @@
 
 
         public static void main(String[] args) {
-            BigDecimal proPrice =new BigDecimal("22.5");
-            CurrencyUnit cny = CurrencyUnit.of("CNY");
-            Money money = Money.of(cny, proPrice).dividedBy(BigDecimal.valueOf(0.95), RoundingMode.HALF_UP);
-            BigDecimal amount = money.getAmount();
-            System.out.println(amount);
-
-            System.out.println(Money.of(cny,proPrice).multipliedBy((long) 0.3));
-
-            System.out.println(proPrice.multiply(BigDecimal.valueOf(0.3)));
-
+            BigDecimal ordPrice =new BigDecimal("13.05");
+            BigDecimal multiply = ordPrice.multiply((new BigDecimal("6.5").divide(BigDecimal.valueOf(10))));
+            System.out.println(multiply);
         }
 
 
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/dto/UpdateTransitionnewPriceDto.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/dto/UpdateTransitionnewPriceDto.java
new file mode 100644
index 0000000..2922214
--- /dev/null
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/dto/UpdateTransitionnewPriceDto.java
@@ -0,0 +1,21 @@
+package com.ltkj.hosp.dto;
+
+import lombok.Data;
+
+/**
+ * ClassName: updateTransitionnewPriceDto <br/>
+ * Description: <br/>
+ * date: 2025/1/2 18:29<br/>
+ *
+ * @author zjh<br />
+ */
+@Data
+public class UpdateTransitionnewPriceDto {
+
+    //瀹㈡埛韬唤璇佸彿
+    private String cusIdCard;
+    //tb琛ㄧ埗椤圭洰id
+    private String parentProId;
+    //鎶樻墸
+    private String discount;
+}
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
index da685f6..fab994b 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
@@ -102,7 +102,7 @@
     @Select("SELECT * FROM tb_transition WHERE cus_id=#{cusId}  AND pro_id =#{proId} and ISNULL(tj_num)")
     public List<TbTransition> getTbTransitionListByCusIdAndPacIdAndProId(@Param("cusId") String cusId,@Param("proId") String proId);
 
-    @Select("SELECT DISTINCT pac_id FROM tb_transition WHERE cus_id=#{cusId} AND !ISNULL(pac_id)")
+    @Select("SELECT DISTINCT pac_id FROM tb_transition WHERE cus_id=#{cusId} AND !ISNULL(pac_id) AND ISNULL(tj_num)")
     String getTbTransitionPacIdByCusIdAndPac(String cusId);
 
     @Select("SELECT SUM(a.now_price) now_price FROM tb_transition a WHERE cus_id=#{cusId}")
@@ -118,6 +118,12 @@
             "a.tj_num=#{tjNum}"+
             " WHERE a.cus_id=#{cusId}  AND ISNULL(a.tj_num) ")
     boolean updateTbTransitionPriceByCusId(@Param("cusId")String cusId,@Param("discount")BigDecimal discount,@Param("tjNum")String tjNum);
+
+
+    @Update("UPDATE tb_transition a SET \n" +
+            "a.tj_num=#{tjNum}"+
+            " WHERE a.cus_id=#{cusId}  AND ISNULL(a.tj_num) ")
+    boolean updateTbTransitionTjNumByCusId(@Param("cusId")String cusId,@Param("tjNum")String tjNum);
 
 
     @Update("UPDATE tb_transition a SET \n" +
@@ -341,7 +347,11 @@
     String ttpanduantaocanshifouchongfu(@Param("idCard") String idCard,@Param("pacId") Long pacId);
 
 
-    @Select("SELECT a.parent_pro_name pro_name,b.pro_type,SUM(a.now_price) now_price,SUM(a.ord_price) ord_price,b.pro_check_method,a.discount FROM tb_transition a " +
+    @Select("SELECT a.parent_pro_id,a.cus_id,a.parent_pro_name pro_name,b.pro_type,SUM(a.now_price) now_price,SUM(a.ord_price) ord_price,b.pro_check_method,a.discount FROM tb_transition a " +
             "LEFT JOIN tj_project b ON b.pro_id=a.parent_pro_id WHERE ISNULL(a.tj_num) AND a.cus_id=#{idCard} GROUP BY a.parent_pro_id")
     List<TbTransition> newgetTransitionList(String cusId);
+
+
+    @Select("SELECT * FROM tb_transition a WHERE a.tj_num=#{tjNumber} AND a.cus_id=#{idCard} AND a.now_price>0 AND a.discount !=10 ORDER BY a.create_time DESC LIMIT 1 \n")
+    TbTransition getOnwTbTransition(@Param("idCard") String idCard,@Param("tjNumber")String tjNumber);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java
index cba4afa..fcdf465 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java
@@ -108,6 +108,9 @@
     public boolean updateTbTransitionPriceByCusId(String cusId,BigDecimal discount,String tjNum);
 
 
+    public boolean updateTbTransitionTjNumByCusId(String cusId,String tjNum);
+
+
     public boolean updateTbTransitionById(String id,String jxbz,String tjNum,String cardId,BigDecimal jg);
 
 
@@ -137,4 +140,6 @@
     String ttpanduantaocanshifouchongfu(String idCard,Long pacId);
 
     List<TbTransition> newgetTransitionList(String cusId);
+
+    TbTransition getOnwTbTransition(String idCard,String tjNumber);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java
index 086d5f1..80701b5 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java
@@ -163,6 +163,11 @@
     }
 
     @Override
+    public boolean updateTbTransitionTjNumByCusId(String cusId, String tjNum) {
+        return tbTransitionMapper.updateTbTransitionTjNumByCusId(cusId,tjNum);
+    }
+
+    @Override
     public boolean updateTbTransitionById(String id,String jxbz,String tjNum,String cardId,BigDecimal jg) {
         return tbTransitionMapper.updateTbTransitionById(id,jxbz,tjNum,cardId,jg);
     }
@@ -232,4 +237,9 @@
     public List<TbTransition> newgetTransitionList(String cusId) {
         return tbTransitionMapper.newgetTransitionList(cusId);
     }
+
+    @Override
+    public TbTransition getOnwTbTransition(String idCard, String tjNumber) {
+        return tbTransitionMapper.getOnwTbTransition(idCard,tjNumber);
+    }
 }

--
Gitblit v1.8.0