From 2443f547c0a981e38c5c6e9229e1068d8f831dd0 Mon Sep 17 00:00:00 2001
From: jyy <jyy>
Date: Tue, 20 Jul 2021 11:25:30 +0800
Subject: [PATCH] 1、服务单打印格式调整

---
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java |   25 ++++++++++++++++++++++---
 1 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
index 8fa0fcb..bb0717b 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -1306,7 +1306,7 @@
         taocanProjUse.setIsCourse(taocanShoppingGoods.getIsCourse());
         taocanProjUse.setIsInfinite(taocanShoppingGoods.getIsInfinite());
         // 赠送和打折后金额为0的都视为赠送项目
-        if (sysOrderItem.getIsFree().equals(Dictionary.FLAG_NO) && sysOrderItem.getZkPrice() > 0) {
+        if (sysOrderItem.getIsFree().equals(Dictionary.FLAG_NO) && sysOrderItem.getZkPrice() > 0 && !isGiftMoneyPay(order)) {
             taocanProjUse.setSource(Dictionary.TAOCAN_SOURCE_GM);
         } else {
             taocanProjUse.setSource(Dictionary.TAOCAN_SOURCE_ZS);
@@ -1359,8 +1359,10 @@
 
 
         puse.setProjName(sysOrderItem.getShoppingGoods().getName());
+
+
         // 赠送和打折后金额为0的都视为赠送项目
-        if (sysOrderItem.getIsFree().equals(Dictionary.FLAG_NO) && sysOrderItem.getZkPrice() > 0) {
+        if (sysOrderItem.getIsFree().equals(Dictionary.FLAG_NO) && sysOrderItem.getZkPrice() > 0 && !isGiftMoneyPay(order)) {
             puse.setSource(Dictionary.TAOCAN_SOURCE_GM);
             puse.setPrice(sysOrderItem.getZkPrice());
         } else {
@@ -1380,6 +1382,23 @@
         puse.setFailTime(invalidTime);
         puse.setBalance(sysOrderItem.getShoppingGoods().getSealPice()*puse.getSurplusCount());
         sysProjUseDao.insert(puse);
+    }
+
+    /**
+     * 全是赠送金额,且配置了赠送金额购买计算为赠送
+     * @param order
+     * @return
+     */
+    private boolean isGiftMoneyPay(SysOrder order) {
+        BusParameterSettings giftiIsfree = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.SHOP_MANAGE_GIFTISFREE, order.getCompanyId());
+        if(giftiIsfree.getParamValue().equals("是")){
+            return  order.getFlows().stream().allMatch(item -> SysOrderFlow.IS_GIFT_Y.equals(item.getIsGift())
+                    && item.getAmount().doubleValue() >0D);
+        }else{
+            return false;
+        }
+
+
     }
 
 
@@ -1531,7 +1550,7 @@
         sourceOrder.setIsHasRefund(SysOrder.IS_HAS_REFUND_Y);
 //        sourceOrder.setStatu(Dictionary.ORDER_STATU_TK);
         sysOrderDao.update(sourceOrder);
-        SysOrder oldOrder=sysOrderDao.selectById(   sysOrder.getOldOrderId());
+        SysOrder oldOrder=sysOrderDao.selectById(sysOrder.getOldOrderId());
 
         sysOrder.setId(null);
         sysOrder.setStaffId(user.getSuId());

--
Gitblit v1.9.1