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