From caa15383382af86c00f7176c1d24280a7da6d9e2 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Sat, 30 Oct 2021 09:38:59 +0800
Subject: [PATCH] 新增自动配料配置
---
zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java | 13 ++-
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java | 72 +++++++++++++++---
zq-erp/src/main/java/com/matrix/system/common/service/BusParameterSettingService.java | 40 ++++++++++
zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java | 5 +
zq-erp/src/main/java/com/matrix/system/hive/service/TaiYanAliyunSmsService.java | 48 ++++-------
zq-erp/src/main/resources/config/application.properties | 12 +-
6 files changed, 137 insertions(+), 53 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 82a26fc..846a5d8 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
@@ -592,6 +592,11 @@
public static final String OPEN_SMS_NOTICE = "OPEN_SMS_NOTICE";
/**
+ * 服务单自动配料
+ */
+ public static final String OPEN_SERVICE_ORDER_AUTO_BATCHING = "OPEN_SERVICE_ORDER_AUTO_BATCHING";
+
+ /**
* 赠送金额购买产品算赠送购买
*/
public static final String SHOP_MANAGE_GIFTISFREE = "shopManageGiftisfree";
diff --git a/zq-erp/src/main/java/com/matrix/system/common/service/BusParameterSettingService.java b/zq-erp/src/main/java/com/matrix/system/common/service/BusParameterSettingService.java
new file mode 100644
index 0000000..e98dd93
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/common/service/BusParameterSettingService.java
@@ -0,0 +1,40 @@
+package com.matrix.system.common.service;
+
+import com.matrix.core.tools.LogUtil;
+import com.matrix.core.tools.StringUtils;
+import com.matrix.system.common.bean.BusParameterSettings;
+import com.matrix.system.common.bean.SysCompany;
+import com.matrix.system.common.constance.AppConstance;
+import com.matrix.system.common.dao.BusParameterSettingsDao;
+import com.matrix.system.fenxiao.constant.FenxiaoSettingConstant;
+import com.matrix.system.score.constant.ScoreSettingConstant;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+@Service
+@AllArgsConstructor
+public class BusParameterSettingService {
+
+ private BusParameterSettingsDao busParameterSettingsDao;
+
+ /**
+ * 判断某个设置是否是开启状态
+ * 未配置,或者无效settingkey都返回false
+ */
+ public boolean isSettingOpen(String settingKey,Long companyId) {
+ BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(settingKey, companyId);
+ return (
+ Objects.nonNull(busParameterSettings)
+ && StringUtils.isNotBlank(busParameterSettings.getParamValue())
+ && AppConstance.IS_Y.equals(busParameterSettings.getParamValue())
+ );
+ }
+
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/TaiYanAliyunSmsService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/TaiYanAliyunSmsService.java
index b0f8369..1aa4621 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/TaiYanAliyunSmsService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/TaiYanAliyunSmsService.java
@@ -15,6 +15,7 @@
import com.matrix.system.common.bean.BusParameterSettings;
import com.matrix.system.common.constance.AppConstance;
import com.matrix.system.common.dao.BusParameterSettingsDao;
+import com.matrix.system.common.service.BusParameterSettingService;
import com.matrix.system.hive.bean.SysBeauticianState;
import com.matrix.system.hive.bean.SysProjServices;
import com.matrix.system.hive.bean.SysShopInfo;
@@ -48,8 +49,7 @@
SysBeauticianStateService sysBeauticianStateService;
- BusParameterSettingsDao busParameterSettingsDao;
-
+ BusParameterSettingService busParameterSettingService;
/**
* 预约成功短信提醒
*
@@ -58,12 +58,8 @@
@Async
public void sendYycgNotice(SysProjServices services) {
//短信接口为肽妍公司定制,暂时写死
- if (services.getCompanyId() != 17L) {
- return;
- }
- if (isCloseSmsNotice(services)){
- return;
- }
+ if (chackSetting(services)) return;
+
SysVipInfo sysVipInfo = vipInfoDao.selectById(services.getVipId());
SysShopInfo shopInfo = shopInfoService.findById(services.getShopId());
String date = DateUtil.dateFormatStr(new Date(), "yyyy年MM月dd日");
@@ -81,35 +77,14 @@
/**
- * 判断是否开启了短信提醒
- * @param services
- * @return
- */
- private boolean isCloseSmsNotice(SysProjServices services) {
- BusParameterSettings openSmsNoticeSetting = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.OPEN_SMS_NOTICE, services.getCompanyId());
- if (StringUtils.isBlank(openSmsNoticeSetting.getParamValue())
- || AppConstance.IS_N.equals(openSmsNoticeSetting.getParamValue())) {
- LogUtil.debug("未开启短信提醒");
- return true;
- }
- return false;
- }
-
-
- /**
* 项目划扣短信提醒
*
* @param services
*/
@Async
public void sendHkNotice(SysProjServices services) {
- //短信接口为肽妍公司定制,暂时写死
- if (services.getCompanyId() != 17L) {
- return;
- }
- if (isCloseSmsNotice(services)){
- return;
- }
+ if (chackSetting(services)) return;
+
SysVipInfo sysVipInfo = vipInfoDao.selectById(services.getVipId());
SysShopInfo shopInfo = shopInfoService.findById(services.getShopId());
String date = DateUtil.dateFormatStr(new Date(), "yyyy年MM月dd日");
@@ -136,5 +111,16 @@
}
+ private boolean chackSetting(SysProjServices services) {
+ //短信接口为肽妍公司定制,暂时写死
+ if (services.getCompanyId() != 17L) {
+ return true;
+ }
+ if (!busParameterSettingService.isSettingOpen(AppConstance.OPEN_SMS_NOTICE, services.getCompanyId())) {
+ return true;
+ }
+ 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 efb59fb..1a162dc 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
@@ -1,12 +1,16 @@
package com.matrix.system.hive.service.imp;
import cn.hutool.core.collection.CollUtil;
+import com.google.common.collect.Lists;
import com.matrix.component.asyncmessage.AsyncMessageManager;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.exception.GlobleException;
import com.matrix.core.pojo.PaginationVO;
import com.matrix.core.pojo.VerifyResult;
-import com.matrix.core.tools.*;
+import com.matrix.core.tools.DateUtil;
+import com.matrix.core.tools.LogUtil;
+import com.matrix.core.tools.StringUtils;
+import com.matrix.core.tools.WebUtil;
import com.matrix.system.app.dto.ServiceOrderListDto;
import com.matrix.system.app.vo.ServiceOrderListVo;
import com.matrix.system.common.bean.BusParameterSettings;
@@ -14,6 +18,7 @@
import com.matrix.system.common.constance.AppConstance;
import com.matrix.system.common.dao.BusParameterSettingsDao;
import com.matrix.system.common.dao.SysUsersDao;
+import com.matrix.system.common.service.BusParameterSettingService;
import com.matrix.system.constance.Dictionary;
import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.dao.*;
@@ -116,12 +121,17 @@
BusParameterSettingsDao busParameterSettingsDao;
@Autowired
+ BusParameterSettingService busParameterSettingService;
+
+ @Autowired
ScoreVipDetailService scoreVipDetailService;
@Autowired
SysVipInfoDao sysVipInfoDao;
+ @Autowired
+ ShoppingGoodsAssembleDao goodsAssembleDao;
/**
* 新增服务单 jyy
@@ -257,7 +267,7 @@
SysProjUse sysProjUse = projUseService.findById(sysBeauticianState.getPuseId());
//检查是否已经处于无效状态
- if(Dictionary.TAOCAN_STATUS_WX.equals(sysProjUse.getStatus())){
+ if (Dictionary.TAOCAN_STATUS_WX.equals(sysProjUse.getStatus())) {
return new VerifyResult(true, sysProjUse.getProjName() + "项目已经失效");
}
@@ -447,7 +457,49 @@
lastList.add(lastWork);
}
LastestWorkBeatuistaffDao.batchInsert(lastList);
- return sysProjServicesDao.update(projServices);
+ int i = sysProjServicesDao.update(projServices);
+
+ //根据配置是否完成自动配料
+ if (busParameterSettingService.isSettingOpen(AppConstance.OPEN_SERVICE_ORDER_AUTO_BATCHING, checkProjServices.getCompanyId())){
+ autoBatching(projServices);
+ }
+
+
+ return i;
+ }
+
+
+ /**
+ * 根据配置是否完成自动配料
+ *
+ * @param projServices
+ */
+ private void autoBatching(SysProjServices projServices) {
+
+ //获取最新的服务单信息
+ projServices=findById(projServices.getId());
+ List<SysBeauticianState> beauticianStateList = beauticianStateDao.selectBySerIds(projServices.getId());
+
+
+ List<SysOutStoreItem> outStoreItemList = Lists.newLinkedList();
+ beauticianStateList.stream().forEach(item -> {
+
+ List<ShoppingGoodsAssemble> shoppingGoodsAssembles = goodsAssembleDao.selectGoodsByShoppingGoodsIdAndType(item.getProjId(), ShoppingGoods.SHOPPING_GOODS_TYPE_JJCP);
+
+ if (CollUtil.isNotEmpty(shoppingGoodsAssembles)) {
+ outStoreItemList.addAll(shoppingGoodsAssembles.stream().map(assemble -> {
+ SysOutStoreItem outStoreItem = new SysOutStoreItem();
+ outStoreItem.setSkuId(assemble.getAssembleGoodId());
+ outStoreItem.setAmount(Double.parseDouble(assemble.getTotal()+""));
+ outStoreItem.setRemark("自动配料");
+ return outStoreItem;
+ }).collect(Collectors.toList()));
+ }
+ });
+ //组合配料参数
+ projServices.setOutStoreItem(outStoreItemList);
+ //调用配料出库方法
+ modifyPLProjServices(projServices);
}
@@ -660,7 +712,7 @@
//发送微信公众号提醒
UniformMsgParam uniformMsgParam = new UniformMsgParam(projServices.getCompanyId(), UniformMsgParam.GZH_FWWC);
uniformMsgParam.put("serviceId", projServices.getId());
- asyncMessageManager.sendMsg(AsyncMessageRouting.SEND_UNIFORM_TEMPLATE_MSG ,uniformMsgParam);
+ asyncMessageManager.sendMsg(AsyncMessageRouting.SEND_UNIFORM_TEMPLATE_MSG, uniformMsgParam);
//发送划扣短信提醒
taiYanAliyunSmsService.sendHkNotice(projServices);
@@ -1062,10 +1114,10 @@
int i = modify(services);
if (i > 0) {
//发送微信公众号提醒
- services=findById(services.getId());
- UniformMsgParam uniformMsgParam=new UniformMsgParam(services.getCompanyId(),UniformMsgParam.GZH_YYCG);
- uniformMsgParam.put("serviceId",services.getId());
- asyncMessageManager.sendMsg(AsyncMessageRouting.SEND_UNIFORM_TEMPLATE_MSG ,uniformMsgParam);
+ services = findById(services.getId());
+ UniformMsgParam uniformMsgParam = new UniformMsgParam(services.getCompanyId(), UniformMsgParam.GZH_YYCG);
+ uniformMsgParam.put("serviceId", services.getId());
+ asyncMessageManager.sendMsg(AsyncMessageRouting.SEND_UNIFORM_TEMPLATE_MSG, uniformMsgParam);
taiYanAliyunSmsService.sendYycgNotice(services);
@@ -1073,10 +1125,6 @@
}
return i;
}
-
-
-
-
}
diff --git a/zq-erp/src/main/resources/config/application.properties b/zq-erp/src/main/resources/config/application.properties
index d2d049e..7b6d3b6 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!@#
@@ -22,9 +22,9 @@
#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=root
-spring.datasource.password=root
-spring.datasource.url=jdbc:mysql://127.0.0.1:3306/md_test_local?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
+#spring.datasource.username=root
+#spring.datasource.password=root
+#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/md_test_local?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/test/java/com/matrix/ParameterSettingsTool.java b/zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java
index 99c0860..82778ed 100644
--- a/zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java
+++ b/zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java
@@ -119,13 +119,20 @@
newSetting10.setCategory("店务配置");
newSettings.add(newSetting10);
+ ParameterSettings newSetting11=new ParameterSettings();
+ newSetting11.setCode(AppConstance.OPEN_SERVICE_ORDER_AUTO_BATCHING);
+ newSetting11.setName("开启服务单自动配料");
+ newSetting11.setType(1);
+ newSetting11.setCategory("店务配置");
+ newSettings.add(newSetting11);
+
+
+
for (ParameterSettings newSetting : newSettings) {
List<ParameterSettings> parameterSettings = parameterSettingsDao.selectByModel(newSetting);
if(CollectionUtil.isEmpty(parameterSettings)){
parameterSettingsDao.insert(newSetting);
System.out.println("新增配置"+newSetting.getName());
- }else {
- System.out.println("配置"+newSetting.getName()+"已经存在");
}
addSettingsTOAllCompany(newSetting);
}
@@ -144,8 +151,6 @@
busParameterSettings.setParamValue("");
busParameterSettingsDao.insert(busParameterSettings);
System.out.println(sysCompany.getComName()+"新增成功");
- }else{
- System.out.println("公司"+sysCompany.getComName()+"已经存在配置"+newSetting.getName());
}
}
--
Gitblit v1.9.1