From ac4b6618b3942aace2541e2774b8df6644762157 Mon Sep 17 00:00:00 2001
From: jyy <jyy>
Date: Wed, 14 Jul 2021 17:34:27 +0800
Subject: [PATCH] 修复bug

---
 zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java                              |    7 +++
 zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java                 |    2 
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java |    3 +
 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html               |    8 ++--
 zq-erp/src/main/java/com/matrix/system/hive/action/util/QueryUtil.java                  |   17 +++++---
 zq-erp/src/main/resources/templates/views/admin/hive-erp/order/serviceOrderDetail.html  |   18 ++++++++-
 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yypb-form.html         |    2 +
 zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java               |    5 ++
 zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java               |    6 +-
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java      |    3 +
 zq-erp/src/main/resources/config/application.properties                                 |   12 +++---
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java        |   22 ++++++++++-
 12 files changed, 78 insertions(+), 27 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java b/zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java
index 08f9c22..ff36166 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java
@@ -578,7 +578,10 @@
      */
     public static final String SHOP_MANAGE_JJCPAS_CONSUME = "shopManageJjcpasConsume";
 
-
+    /**
+     * 赠送金额购买产品算赠送购买
+     */
+    public static final String SHOP_MANAGE_GIFTISFREE = "shopManageGiftisfree";
 
     /**
      * 钉钉通知token
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
index 6e0b818..0ca6a5a 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
@@ -221,7 +221,7 @@
     /**
      * 收款
      */
-    @RequestMapping(value = "sk")
+    @RequestMapping(value = "/sk")
     public @ResponseBody
     AjaxResult sk(SysOrder order) throws GlobleException {
         orderService.updateReceiptMoney(order);
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java
index a1c45d6..acfe1fd 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java
@@ -237,9 +237,9 @@
     public @ResponseBody
     AjaxResult showList(PaginationVO pageVo, SysVipInfo vipInfo) {
 
-//        if (!getMe().getShopRole().equals(Dictionary.FLAG_YES_Y)) {
-        vipInfo.setShopId(getMe().getShopId());
-//        }
+
+        QueryUtil.setQueryLimit(vipInfo);
+
         return showList(vipInfoService, vipInfo, pageVo);
     }
 
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/util/QueryUtil.java b/zq-erp/src/main/java/com/matrix/system/hive/action/util/QueryUtil.java
index e36ac64..0718dff 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/util/QueryUtil.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/util/QueryUtil.java
@@ -5,6 +5,7 @@
 import com.matrix.core.tools.LogUtil;
 import com.matrix.core.tools.WebUtil;
 import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.constance.AppConstance;
 
 import java.lang.reflect.Method;
 
@@ -12,40 +13,44 @@
 
     /**
      * 为查询对象加上当前登录人的门店和公司查询限制
+     *
      * @param queryObj
      */
     public static void setQueryLimit(Object queryObj) {
         SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
+
         Class<Object> objClazz = (Class<Object>) queryObj.getClass();
         try {
-            Method setShopId = (Method) objClazz.getMethod("setShopId",Long.class);
-            setShopId.invoke(queryObj, sysUsers.getShopId());
-            Method setCompanyId = (Method) objClazz.getMethod("setCompanyId",Long.class);
+            if (!AppConstance.USER_TYPE_ADMIN.equals(sysUsers.getSuUserType())) {
+                Method setShopId = (Method) objClazz.getMethod("setShopId", Long.class);
+                setShopId.invoke(queryObj, sysUsers.getShopId());
+            }
+            Method setCompanyId = (Method) objClazz.getMethod("setCompanyId", Long.class);
             setCompanyId.invoke(queryObj, sysUsers.getCompanyId());
         } catch (Exception e) {
             LogUtil.error(e.getMessage(), e);
             throw new GlobleException("系统参数错误007");
         }
+
     }
 
 
     /**
      * 限制数据公司id
+     *
      * @param queryObj
      */
     public static void setQueryLimitCom(Object queryObj) {
         SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
         Class<Object> objClazz = (Class<Object>) queryObj.getClass();
         try {
-            Method setCompanyId = (Method) objClazz.getMethod("setCompanyId",Long.class);
+            Method setCompanyId = (Method) objClazz.getMethod("setCompanyId", Long.class);
             setCompanyId.invoke(queryObj, sysUsers.getCompanyId());
         } catch (Exception e) {
             LogUtil.error(e.getMessage(), e);
             throw new GlobleException("系统参数错误008");
         }
     }
-
-
 
 
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java
index 2d5cf4d..e302e9f 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java
@@ -26,6 +26,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.*;
 
 /**
@@ -193,7 +194,7 @@
                         calculationProjPercentage(AchieveRuleItem.ACHIEVE_TYPE_ZS,achieveNew.getFreeConsume(),beauticianState.getProjId()));
 
             } else {
-                achieveNew.setHisConsume(projUse.getPrice()*beauticianState.getCount());
+                achieveNew.setHisConsume(new BigDecimal(projUse.getPrice()*beauticianState.getCount()).setScale(2, BigDecimal.ROUND_HALF_DOWN).doubleValue());
                 //计算提成
                 achieveNew.setProjPercentage(
                         calculationProjPercentage(AchieveRuleItem.ACHIEVE_TYPE_BJ,achieveNew.getHisConsume(),beauticianState.getProjId()));
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..a2e5b5e 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 {
@@ -1382,6 +1384,22 @@
         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()));
+        }else{
+            return false;
+        }
+
+
+    }
+
 
     /**
      * 会员卡充值
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
index e57a138..4349f69 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
@@ -35,6 +35,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -238,7 +239,7 @@
         }
         // 设置项目总时长
         sysProjServices.setTotalTime(totalTime);
-        sysProjServices.setMoney(hkPrice);
+        sysProjServices.setMoney(new BigDecimal(hkPrice).setScale(2, BigDecimal.ROUND_HALF_DOWN).doubleValue());
         sysProjServicesDao.update(sysProjServices);
         return sysProjServices;
     }
diff --git a/zq-erp/src/main/resources/config/application.properties b/zq-erp/src/main/resources/config/application.properties
index 863a592..496ce97 100644
--- a/zq-erp/src/main/resources/config/application.properties
+++ b/zq-erp/src/main/resources/config/application.properties
@@ -4,9 +4,9 @@
 
 #线上测试环境
 #
-#spring.datasource.username=ct_test
-#spring.datasource.password=123456
-#spring.datasource.url=jdbc:mysql://120.27.238.55:3306/hive_test_meidu?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
+spring.datasource.username=ct_test
+spring.datasource.password=123456
+spring.datasource.url=jdbc:mysql://120.27.238.55:3306/hive_test_meidu?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
 
 #spring.datasource.username=xc_shop
 #spring.datasource.password=xc_shop123!@#
@@ -17,9 +17,9 @@
 #spring.datasource.password=hive123!@#
 #spring.datasource.url=jdbc:mysql://124.70.222.34/hive_prd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
 
-spring.datasource.username=meidu_data
-spring.datasource.password=meidu_4321#&@
-spring.datasource.url=jdbc:mysql://47.111.134.136/db_meidu_prd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
+#spring.datasource.username=meidu_data
+#spring.datasource.password=meidu_4321#&@
+#spring.datasource.url=jdbc:mysql://47.111.134.136/db_meidu_prd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
 
 
 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive-erp/order/serviceOrderDetail.html b/zq-erp/src/main/resources/templates/views/admin/hive-erp/order/serviceOrderDetail.html
index 64b1195..1e77049 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive-erp/order/serviceOrderDetail.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive-erp/order/serviceOrderDetail.html
@@ -73,7 +73,22 @@
                         <el-table-column
                                 prop="projInfo.name"
                                 label="商品名称"
-                                width="280">
+                                width="400">
+                        </el-table-column>
+                        <el-table-column
+                                prop="projUse.source"
+                                label="来源"
+                                width="400">
+                        </el-table-column>
+                        <el-table-column
+                                :formatter="hkPrice"
+                                label="划扣金额"
+                                width="100">
+                        </el-table-column>
+                        <el-table-column
+                                prop="count"
+                                label="次数"
+                                width="100">
                         </el-table-column>
                         <el-table-column
                                 prop="projInfo.timeLength"
@@ -81,7 +96,6 @@
                                 width="200">
                         </el-table-column>
                         <el-table-column
-                                prop="address"
                                 label="服务时间" :formatter="serviceTime">
                         </el-table-column>
                         <el-table-column
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
index 7aa8771..9e7c66c 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
@@ -256,10 +256,10 @@
                                 </el-table-column>
                                 <el-table-column label="操作">
                                     <template slot-scope="scope">
-                                        <el-button matrix:btn="vipInfo-youxiao" v-if="scope.row.status!='有效'" type="text" size="small" @click="tabProjValid(scope.$index, scope.row)">有效</el-button>
-                                        <el-button matrix:btn="vipInfo-wuxiao" v-if="scope.row.status!='无效'" type="text" size="small" @click="tabProjInvalid(scope.$index, scope.row)">无效</el-button>
-                                        <el-button matrix:btn="vipInfo-dongjie" v-if="scope.row.status!='冻结'" type="text" size="small" @click="tabProjCold(scope.$index, scope.row)">冻结</el-button>
-                                        <el-button matrix:btn="vipInfo-cardEdit" type="text" size="small" @click="tabProjEdit(scope.$index, scope.row)">编辑</el-button>
+                                        <el-button matrix:btn="vipinfoClub-youxiao" v-if="scope.row.status!='有效'" type="text" size="small" @click="tabProjValid(scope.$index, scope.row)">有效</el-button>
+                                        <el-button matrix:btn="vipinfoClub-wuxiao" v-if="scope.row.status!='无效'" type="text" size="small" @click="tabProjInvalid(scope.$index, scope.row)">无效</el-button>
+                                        <el-button matrix:btn="vipinfoClub-dongjie" v-if="scope.row.status!='冻结'" type="text" size="small" @click="tabProjCold(scope.$index, scope.row)">冻结</el-button>
+                                        <el-button matrix:btn="vipinfoClub-cardEdit" type="text" size="small" @click="tabProjEdit(scope.$index, scope.row)">编辑</el-button>
                                         <el-button type="text"  @click="openOrder(scope.$index, scope.row)" size="small">订单</el-button>
                                         <el-button  type="text" size="small" @click="openProjUseFlow(scope.$index, scope.row)">操作记录</el-button>
                                     </template>
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yypb-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yypb-form.html
index 93b3a8e..241700e 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yypb-form.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yypb-form.html
@@ -112,6 +112,7 @@
                                 <table class="table table-bordered">
                                     <tr>
                                         <th>项目名称</th>
+                                        <th>次数</th>
                                         <th width="100px">服务时长(分钟)</th>
                                         <th>服务时间</th>
                                         <th width="300px">美疗师</th>
@@ -120,6 +121,7 @@
 
                                     <tr v-for="(item,index) in projService.serviceItems">
                                         <td>{{item.projInfo.name}}</td>
+                                        <td>{{item.count}}</td>
                                         <td><el-input @change="changeTimeLength" v-model="item.projInfo.timeLength"></el-input></td>
 
                                         <td>
diff --git a/zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java b/zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java
index b74acde..762da8b 100644
--- a/zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java
+++ b/zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java
@@ -90,6 +90,13 @@
 		newSetting6.setCategory("店务配置");
 		newSettings.add(newSetting6);
 
+		ParameterSettings newSetting7=new ParameterSettings();
+		newSetting7.setCode(AppConstance.SHOP_MANAGE_GIFTISFREE);
+		newSetting7.setName("赠送金额购买产品算赠送购买");
+		newSetting7.setType(1);
+		newSetting7.setCategory("店务配置");
+		newSettings.add(newSetting7);
+
 
 		for (ParameterSettings newSetting : newSettings) {
 			List<ParameterSettings> parameterSettings = parameterSettingsDao.selectByModel(newSetting);

--
Gitblit v1.9.1