From 33d82cdff305ce4cb784638edc258b7bb8397353 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Wed, 06 Jan 2021 15:44:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/api' into api
---
zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopProductDao.java | 2
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml | 58 +
zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml | 13
zq-erp/src/main/java/com/matrix/system/app/dto/ArticleListDto.java | 26
zq-erp/src/main/java/com/matrix/system/hiveErp/analysUtil/StatisticsParamVo.java | 35
zq-erp/src/main/java/com/matrix/system/app/dto/SkinCheckListDto.java | 22
zq-erp/src/main/java/com/matrix/system/app/dto/BusinessesDto.java | 45
zq-erp/src/main/java/com/matrix/system/app/vo/BeauticianVo.java | 30
zq-erp/src/main/java/com/matrix/system/app/vo/UserInfoVo.java | 11
zq-erp/src/main/java/com/matrix/system/app/action/ApiKnowledgeAction.java | 51
zq-erp/src/main/java/com/matrix/system/app/action/ApiUsersAction.java | 38
zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckListVo.java | 69 +
zq-erp/src/main/java/com/matrix/system/hive/dao/ArticleDao.java | 4
zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckDetailVo.java | 80 +
zq-erp/src/main/java/com/matrix/system/hive/action/ArticleTypeController.java | 15
zq-erp/src/main/java/com/matrix/system/hive/dao/SysBusinessDataDao.java | 5
zq-erp/src/main/java/com/matrix/system/hive/service/imp/DataAnalysisCustomerServiceImpl.java | 192 +++
zq-erp/src/main/java/com/matrix/system/hiveErp/analysUtil/Caculate.java | 4
zq-erp/src/main/java/com/matrix/system/app/dto/UsersQueryDto.java | 23
zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java | 5
zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java | 5
zq-erp/src/main/resources/config/system.properties | 2
zq-erp/src/main/java/com/matrix/system/app/mapper/SysSkinCheckRecordMapper.java | 38
zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoListVo.java | 12
zq-erp/src/main/java/com/matrix/system/app/vo/BusinessesDataShowVo.java | 111 ++
zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml | 56 +
zq-erp/src/main/java/com/matrix/system/app/mapper/SysUsersMapper.java | 2
zq-erp/src/main/java/com/matrix/system/app/vo/VipAchieveDataShowVo.java | 147 ++
zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java | 5
zq-erp/src/main/java/com/matrix/system/app/dto/VipStatisticsParamDto.java | 100 ++
zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java | 10
zq-erp/src/main/java/com/matrix/system/app/mapper/QuestionMapper.java | 31
zq-erp/src/main/java/com/matrix/system/app/vo/VipCardListVo.java | 78 +
zq-erp/src/main/java/com/matrix/system/app/action/ApiSkinCheckAction.java | 80 +
zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml | 2
zq-erp/src/main/java/com/matrix/system/hiveErp/dao/TjVipSumDao.java | 32
zq-erp/src/main/java/com/matrix/system/hive/bean/Article.java | 4
zq-erp/src/main/java/com/matrix/system/hive/service/imp/ArticleServiceImpl.java | 7
zq-erp/src/main/resources/mybatis/mapper/hive/ArticleDao.xml | 13
zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductDao.xml | 10
zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckDiagnoseItemVo.java | 31
zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java | 100 ++
zq-erp/src/main/java/com/matrix/system/app/mapper/MoneyCardUseMapper.java | 21
zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java | 73 -
zq-erp/src/main/java/com/matrix/system/hive/service/ArticleService.java | 1
zq-erp/src/main/resources/mybatis/mapper/hive/ArticleTypeDao.xml | 14
zq-erp/src/main/java/com/matrix/system/hive/bean/SysSkinCheckRecord.java | 11
zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml | 85 +
zq-erp/src/main/resources/mybatis/mapper/hive/SysSkinCheckRecordDao.xml | 9
zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml | 393 +++++++
zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerItemDto.java | 56 +
zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerDto.java | 38
zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckAnalysisItems.java | 77 +
zq-erp/src/main/java/com/matrix/system/app/dto/RankingDto.java | 43
zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java | 16
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 11
zq-erp/src/main/java/com/matrix/system/app/vo/RankingVo.java | 69 +
zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java | 42
zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java | 222 ++++
zq-erp/src/main/java/com/matrix/system/app/action/ApiShopInfoAction.java | 42
zq-erp/src/main/java/com/matrix/system/app/vo/QuestionVo.java | 88 +
zq-erp/src/main/java/com/matrix/system/hive/bean/ArticleType.java | 10
zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java | 65 +
63 files changed, 2,870 insertions(+), 120 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
index 266baef..a9c7719 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
@@ -4,7 +4,6 @@
import com.matrix.component.redis.RedisClient;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.UUIDUtil;
-import com.matrix.system.app.authority.AppAuthorityManager;
import com.matrix.system.app.dto.LoginDto;
import com.matrix.system.app.vo.UserInfoVo;
import com.matrix.system.common.authority.DefaultAuthorityManager;
@@ -12,6 +11,7 @@
import com.matrix.system.common.authority.strategy.LoginStrategy;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.service.SysUsersService;
+import com.matrix.system.hive.bean.SysShopInfo;
import com.matrix.system.hive.service.SysShopInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -19,10 +19,7 @@
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
/**
* @author wzy
@@ -40,7 +37,7 @@
private SysShopInfoService sysShopInfoService;
@Autowired
- private AppAuthorityManager authorityManager;
+ private DefaultAuthorityManager authorityManager;
@Autowired
private RedisClient redisClient;
@@ -58,8 +55,11 @@
LoginStrategy apLogin = new AccountPasswordLogin(user, sysUsersService);
user = authorityManager.login(apLogin);
+ UserInfoVo userInfoVo = new UserInfoVo();
if(user.getShopId()!=null){
- user.setShopName(sysShopInfoService.findById(user.getShopId()).getShopName());
+ SysShopInfo shopInfo = sysShopInfoService.findById(user.getShopId());
+ user.setShopName(shopInfo.getShopName());
+ userInfoVo.setShopName(shopInfo.getShopShortName());
}
user.setSuPassword(null);
@@ -67,7 +67,6 @@
redisClient.saveValueForever(token, JSONObject.toJSONString(user));
redisClient.saveValueForever(user.getSuId().toString(), token);
- UserInfoVo userInfoVo = new UserInfoVo();
userInfoVo.setId(user.getSuId());
userInfoVo.setName(user.getSuName());
userInfoVo.setRoleName(user.getRoleName());
@@ -79,4 +78,5 @@
result.putInMap("token", token);
return result;
}
+
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiKnowledgeAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiKnowledgeAction.java
index 2e23de7..5089f28 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiKnowledgeAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiKnowledgeAction.java
@@ -1,8 +1,17 @@
package com.matrix.system.app.action;
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.pojo.PaginationVO;
+import com.matrix.system.app.dto.ArticleListDto;
+import com.matrix.system.hive.action.BaseController;
+import com.matrix.system.hive.bean.Article;
+import com.matrix.system.hive.bean.ArticleType;
+import com.matrix.system.hive.service.ArticleService;
+import com.matrix.system.hive.service.ArticleTypeService;
import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
/**
* @author wzy
@@ -11,6 +20,42 @@
@Api(value = "ApiKnowledgeAction", tags = "知识库接口类")
@RestController
@RequestMapping(value = "/api/know")
-public class ApiKnowledgeAction {
+public class ApiKnowledgeAction extends BaseController {
+
+ @Autowired
+ private ArticleTypeService articleTypeService;
+
+ @Autowired
+ private ArticleService articleService;
+
+ @ApiOperation(value = "获取知识库分类", notes = "获取知识库分类")
+ @GetMapping(value = "/findKnowledgeType")
+ public AjaxResult findKnowledgeType() {
+ ArticleType type = new ArticleType();
+ type.setShopId(getMe().getShopId());
+ type.setParentId(0L);
+ return AjaxResult.buildSuccessInstance(articleTypeService.findByModel(type));
+ }
+
+ @ApiOperation(value = "根据分类获取文章列表", notes = "根据分类获取文章列表")
+ @PostMapping(value = "/findArticleList")
+ public AjaxResult findArticleList(@RequestBody ArticleListDto articleListDto) {
+ PaginationVO pageVo = new PaginationVO();
+ pageVo.setOffset((articleListDto.getPageNum() - 1) * articleListDto.getPageSize());
+ pageVo.setLimit(articleListDto.getPageSize());
+
+ Article article = new Article();
+ article.setTypeId(articleListDto.getTypeId());
+ return AjaxResult.buildSuccessInstance(articleService.findApiArticleListInPage(article, pageVo));
+ }
+
+ @ApiOperation(value = "获取文章详情页", notes = "获取文章详情页")
+ @GetMapping(value = "/findArticleDetail/{id}")
+ public AjaxResult findArticleDetail(@PathVariable("id") Long id) {
+ Article article = articleService.findById(id);
+ AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
+ ajaxResult.putInMap("article", article);
+ return ajaxResult;
+ }
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java
new file mode 100644
index 0000000..9389cc0
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java
@@ -0,0 +1,100 @@
+package com.matrix.system.app.action;
+
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.tools.DateUtil;
+import com.matrix.system.app.dto.RankingDto;
+import com.matrix.system.app.vo.RankingVo;
+import com.matrix.system.common.tools.DataAuthUtil;
+import com.matrix.system.hive.action.util.QueryUtil;
+import com.matrix.system.hive.bean.AchieveNew;
+import com.matrix.system.hive.bean.SysOrder;
+import com.matrix.system.hive.dao.AchieveNewDao;
+import com.matrix.system.hive.service.AchieveNewService;
+import com.matrix.system.hive.service.SysOrderService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2020-12-28
+ **/
+@Api(value = "ApiRankingAction", tags = "排行榜接口类")
+@RestController
+@RequestMapping(value ="/api/ranking")
+public class ApiRankingAction {
+
+ @Autowired
+ private SysOrderService sysOrderService;
+
+ @Autowired
+ private AchieveNewDao achieveNewDao;
+
+ @ApiOperation(value = "顾问业绩排行榜", notes = "顾问业绩排行榜")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = RankingVo.class)
+ })
+ @PostMapping(value = "/findStaffAchieveRanking")
+ public AjaxResult findStaffAchieveRanking(@RequestBody RankingDto rankingDto) {
+ SysOrder sysOrder = new SysOrder();
+ if (DataAuthUtil.hasAllShopAuth()) {
+ QueryUtil.setQueryLimitCom(sysOrder);
+ } else {
+ QueryUtil.setQueryLimit(sysOrder);
+ }
+ sysOrder.setOrderTime(new Date());
+ sysOrder.setType(rankingDto.getType());
+ return AjaxResult.buildSuccessInstance(sysOrderService.findStaffSaleAchieveRanking(sysOrder));
+ }
+
+ @ApiOperation(value = "门店业绩排行榜", notes = "门店业绩排行榜")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = RankingVo.class)
+ })
+ @PostMapping(value = "/findShopAchieveRanking")
+ public AjaxResult findShopAchieveRanking(@RequestBody RankingDto rankingDto) {
+ AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("");
+ if (RankingDto.SALE.equals(rankingDto.getDataType())) {
+ SysOrder sysOrder = new SysOrder();
+ QueryUtil.setQueryLimitCom(sysOrder);
+ sysOrder.setType(rankingDto.getType());
+ sysOrder.setOrderTime(new Date());
+ List<RankingVo> list = sysOrderService.findApiShopAchieveRanking(sysOrder);
+ ajaxResult.setRows(list);
+ } else {
+ AchieveNew achieveNew = new AchieveNew();
+ QueryUtil.setQueryLimitCom(achieveNew);
+ achieveNew.setDatatime(new Date());
+ achieveNew.setT1(rankingDto.getType());
+ List<RankingVo> rankingVos = achieveNewDao.selectShopConsumeAchieveRanking(achieveNew);
+ ajaxResult.setRows(rankingVos);
+ }
+ return ajaxResult;
+ }
+
+ @ApiOperation(value = "美疗师业绩排行榜", notes = "美疗师业绩排行榜")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = RankingVo.class)
+ })
+ @PostMapping(value = "/findBeauticianAchieveRanking")
+ public AjaxResult findBeauticianAchieveRanking(@RequestBody RankingDto rankingDto) {
+ AchieveNew achieveNew = new AchieveNew();
+ if (DataAuthUtil.hasAllShopAuth()) {
+ QueryUtil.setQueryLimitCom(achieveNew);
+ } else {
+ QueryUtil.setQueryLimit(achieveNew);
+ }
+ achieveNew.setDatatime(new Date());
+ achieveNew.setT1(rankingDto.getType());
+ return AjaxResult.buildSuccessInstance(achieveNewDao.selectBeauticianConsumeAchieveRanking(achieveNew));
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
index a2c7233..83a7b43 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
@@ -80,25 +80,31 @@
queryUse.setVipId(serviceVipProjDto.getVipId());
queryUse.setType(Dictionary.SHOPPING_GOODS_TYPE_XM);
queryUse.setTaocanId(-1L);
- switch (serviceVipProjDto.getType()) {
- case "0" :
- break;
- case "1":
- queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
- queryUse.setIsOver(Dictionary.FLAG_NO_N);
- break;
- case "2":
- queryUse.setStatus(Dictionary.TAOCAN_STATUS_WX);
- queryUse.setIsOver(Dictionary.FLAG_YES_Y);
- break;
- case "3":
- queryUse.setTargetFailTime(DateUtil.getDateAfterMonth(new Date(), 1));
- break;
- default:
- queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
- queryUse.setIsOver(Dictionary.FLAG_NO_N);
- break;
+ if (serviceVipProjDto.getType() != null) {
+ switch (serviceVipProjDto.getType()) {
+ case "0":
+ break;
+ case "1":
+ queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
+ queryUse.setIsOver(Dictionary.FLAG_NO_N);
+ break;
+ case "2":
+ queryUse.setStatus(Dictionary.TAOCAN_STATUS_WX);
+ queryUse.setIsOver(Dictionary.FLAG_YES_Y);
+ break;
+ case "3":
+ queryUse.setTargetFailTime(DateUtil.getDateAfterMonth(new Date(), 1));
+ break;
+ default:
+ queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
+ queryUse.setIsOver(Dictionary.FLAG_NO_N);
+ break;
+ }
+ } else {
+ queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
+ queryUse.setIsOver(Dictionary.FLAG_NO_N);
}
+
queryUse.setQueryKey(serviceVipProjDto.getQueryKey());
List<SysProjUse> projList = projUseService.findInPage(queryUse, null);
List<ServiceProjVo> serviceProjVos = SysProjUseMapper.INSTANCE.entityListToProjVoList(projList);
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiShopInfoAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiShopInfoAction.java
new file mode 100644
index 0000000..ca1c8b5
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiShopInfoAction.java
@@ -0,0 +1,42 @@
+package com.matrix.system.app.action;
+
+import com.matrix.core.constance.MatrixConstance;
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.tools.WebUtil;
+import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.constance.AppConstance;
+import com.matrix.system.hive.action.util.QueryUtil;
+import com.matrix.system.hive.bean.SysShopInfo;
+import com.matrix.system.hive.service.SysShopInfoService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author wzy
+ * @date 2020-12-30
+ **/
+@Api(value = "ApiShopInfoAction", tags = "店铺信息接口类")
+@RestController
+@RequestMapping(value = "/api/shop")
+public class ApiShopInfoAction {
+
+ @Autowired
+ private SysShopInfoService shopInfoService;
+
+ @ApiOperation(value = "获取门店列表", notes = "获取门店列表")
+ @GetMapping(value = "/findAllShopList")
+ public AjaxResult findAllShopList() {
+ SysShopInfo shopInfo = new SysShopInfo();
+ QueryUtil.setQueryLimitCom(shopInfo);
+ SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
+ if(!AppConstance.ZONGDIAN.equals(sysUsers.getShopName())){
+ shopInfo.setId(sysUsers.getShopId());
+ }
+
+ return AjaxResult.buildSuccessInstance(shopInfoService.findByModel(shopInfo));
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiSkinCheckAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiSkinCheckAction.java
index 78dbbc9..1763057 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiSkinCheckAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiSkinCheckAction.java
@@ -1,8 +1,28 @@
package com.matrix.system.app.action;
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.pojo.PaginationVO;
+import com.matrix.core.tools.StringUtils;
+import com.matrix.system.app.dto.SkinCheckListDto;
+import com.matrix.system.app.mapper.SysSkinCheckRecordMapper;
+import com.matrix.system.app.vo.SkinCheckAnalysisItems;
+import com.matrix.system.app.vo.SkinCheckDetailVo;
+import com.matrix.system.app.vo.SkinCheckDiagnoseItemVo;
+import com.matrix.system.app.vo.SkinCheckListVo;
+import com.matrix.system.hive.bean.SysSkinCheckRecord;
+import com.matrix.system.hive.dao.SysSkinCheckRecordDao;
+import com.matrix.system.hive.plugin.util.CollectionUtils;
+import com.matrix.system.shopXcx.bean.ShopProduct;
+import com.matrix.system.shopXcx.dao.ShopProductDao;
import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
/**
* @author wzy
@@ -13,4 +33,60 @@
@RequestMapping(value = "/api/skinCheck")
public class ApiSkinCheckAction {
+ @Autowired
+ private SysSkinCheckRecordDao sysSkinCheckRecordDao;
+
+ @Autowired
+ private ShopProductDao shopProductDao;
+
+ @ApiOperation(value = "获取皮肤检测列表", notes = "获取皮肤检测列表")
+ @PostMapping(value = "/findSkinCheckList")
+ public AjaxResult findSkinCheckList(@RequestBody @Validated SkinCheckListDto skinCheckListDto) {
+ SysSkinCheckRecord sysSkinCheckRecord = new SysSkinCheckRecord();
+ sysSkinCheckRecord.setUserId(skinCheckListDto.getVipId());
+
+ PaginationVO pageVo = new PaginationVO();
+ pageVo.setOffset((skinCheckListDto.getPageNum() - 1) * skinCheckListDto.getPageSize());
+ pageVo.setLimit(skinCheckListDto.getPageSize());
+ pageVo.setSort("t1.create_time");
+ pageVo.setOrder("desc");
+
+ List<SysSkinCheckRecord> dataList = sysSkinCheckRecordDao.selectInPage(sysSkinCheckRecord, pageVo);
+ List<SkinCheckListVo> list = SysSkinCheckRecordMapper.INSTANCE.entitiesToListVos(dataList);
+ AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, list,
+ sysSkinCheckRecordDao.selectTotalRecord(sysSkinCheckRecord));
+ return result;
+ }
+
+
+ @ApiOperation(value = "获取皮肤检测详情", notes = "获取皮肤检测详情")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = SkinCheckDetailVo.class)
+ })
+ @GetMapping(value = "/findSkinCheckDetail/{id}")
+ public AjaxResult findSkinCheckDetail(@PathVariable("id") Long id) {
+
+ SysSkinCheckRecord sysSkinCheckRecord = sysSkinCheckRecordDao.selectById(id);
+
+ SysSkinCheckRecordMapper instance = SysSkinCheckRecordMapper.INSTANCE;
+ SkinCheckDetailVo detail = instance.entityToDetailVo(sysSkinCheckRecord);
+ detail.setSex(sysSkinCheckRecord.getSex());
+ List<SkinCheckDiagnoseItemVo> diagnoseItems = instance.entitiesToDiagnoseItems(sysSkinCheckRecord.getAnalysisDetail());
+ List<SkinCheckAnalysisItems> analysisItems = instance.entitiesToAnalysisItems(sysSkinCheckRecord.getSkinDetails());
+
+ analysisItems.forEach(item -> {
+ List<Integer> ids = StringUtils.strToCollToInteger(item.getProductIds(), ",");
+ if(CollectionUtils.isNotEmpty(ids)){
+ List<String> shopProducts = shopProductDao.selectProductNameByIds(ids);
+ item.setProducts(shopProducts);
+ }
+ });
+
+ detail.setDiagnoseItems(diagnoseItems);
+ detail.setAnalysisItems(analysisItems);
+
+ AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
+ ajaxResult.putInMap("detail", detail);
+ return ajaxResult;
+ }
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java
new file mode 100644
index 0000000..3363c1e
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java
@@ -0,0 +1,222 @@
+package com.matrix.system.app.action;
+
+import com.matrix.core.constance.MatrixConstance;
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.pojo.PaginationVO;
+import com.matrix.core.tools.WebUtil;
+import com.matrix.system.app.dto.BusinessesDto;
+import com.matrix.system.app.dto.VipStatisticsParamDto;
+import com.matrix.system.app.vo.BeauticianVo;
+import com.matrix.system.app.vo.BusinessesDataShowVo;
+import com.matrix.system.app.vo.VipAchieveDataShowVo;
+import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.hive.action.util.QueryUtil;
+import com.matrix.system.hive.bean.AchieveNew;
+import com.matrix.system.hive.bean.SysBusinessData;
+import com.matrix.system.hive.dao.SysBusinessDataDao;
+import com.matrix.system.hive.service.imp.DataAnalysisCustomerServiceImpl;
+import com.matrix.system.hiveErp.analysUtil.Caculate;
+import com.matrix.system.hiveErp.analysUtil.SeriesVo;
+import com.matrix.system.hiveErp.analysUtil.StatisticsParamVo;
+import com.matrix.system.hiveErp.analysUtil.StatisticsTimeDaoParam;
+import com.matrix.system.hiveErp.dao.TjVipSumDao;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author wzy
+ * @date 2020-12-28
+ **/
+@Api(value = "ApiStatisticsAction", tags = "报表接口类")
+@RestController
+@RequestMapping(value = "/api/statistics")
+public class ApiStatisticsAction {
+
+ @Autowired
+ TjVipSumDao tjVipSumDao;
+
+ @Autowired
+ private SysBusinessDataDao sysBusinessDataDao;
+
+ @Autowired
+ private DataAnalysisCustomerServiceImpl dataAnalysisCustomerService;
+
+ @ApiOperation(value = "公司经营报表/门店经营报表")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = BusinessesDataShowVo.class)
+ })
+ @PostMapping(value = "/findShopBusinessesData")
+ public AjaxResult findShopBusinessesData(@RequestBody BusinessesDto businessesDto) {
+ SysBusinessData sysBusinessData = new SysBusinessData();
+ // 若shopId为空,则查询门店经营报表
+ if (businessesDto.getShopId() == null) {
+ sysBusinessData.setShopId(businessesDto.getShopId());
+ }
+ QueryUtil.setQueryLimitCom(sysBusinessData);
+
+ if (BusinessesDto.DAY.equals(businessesDto.getType())) {
+ sysBusinessData.setT1("%Y-%m-%d");
+ } else {
+ sysBusinessData.setT1("%Y-%m");
+ }
+ PaginationVO pageVo = new PaginationVO();
+ pageVo.setOffset((businessesDto.getPageNum() - 1) * businessesDto.getPageSize());
+ pageVo.setLimit(businessesDto.getPageSize());
+
+ return AjaxResult.buildSuccessInstance(sysBusinessDataDao.selectApiBusinessDataInPage(sysBusinessData, pageVo), sysBusinessDataDao.selectApiBusinessDataTotal(sysBusinessData));
+ }
+
+ @ApiOperation(value = "专项", notes = "专项")
+ @PostMapping(value = "/findBusinessInCome")
+ public AjaxResult findBusinessInCome(@RequestBody @Validated StatisticsParamVo statisticsParam) {
+ if (statisticsParam.getShopId() != null) {
+ AjaxResult ajaxResult = dataAnalysisCustomerService.getAnalysisResult(statisticsParam, new Caculate<BigDecimal>() {
+ @Override
+ public Map<String, BigDecimal> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId, Long companyId) {
+ switch (statisticsParam.getType()) {
+ case "1" :
+ return tjVipSumDao.selectBusinessInCome(timeSpaceParam, shopId, null);
+ case "2" :
+ return tjVipSumDao.selectCashIncome(timeSpaceParam, shopId, null);
+ case "3" :
+ return tjVipSumDao.selectCardUse(timeSpaceParam, shopId, null);
+ case "4" :
+ return tjVipSumDao.selectHisConsume(timeSpaceParam, shopId, null);
+ case "5" :
+ return tjVipSumDao.selectFreeConsume(timeSpaceParam, shopId, null);
+ case "6" :
+ return tjVipSumDao.selectCashRefund(timeSpaceParam, shopId, null);
+ case "7" :
+ return tjVipSumDao.selectCardRefund(timeSpaceParam, shopId, null);
+ case "8" :
+ return tjVipSumDao.selectArrears(timeSpaceParam, shopId, null);
+ default :
+ return tjVipSumDao.selectBusinessInCome(timeSpaceParam, shopId, null);
+ }
+ }
+ });
+ return setDataList(ajaxResult);
+ } else {
+ AjaxResult ajaxResult = dataAnalysisCustomerService.getCompanyAnalysisResult(statisticsParam, new Caculate<BigDecimal>() {
+ @Override
+ public Map<String, BigDecimal> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId, Long companyId) {
+ switch (statisticsParam.getType()) {
+ case "1" :
+ return tjVipSumDao.selectBusinessInCome(timeSpaceParam, null, companyId);
+ case "2" :
+ return tjVipSumDao.selectCashIncome(timeSpaceParam, null, companyId);
+ case "3" :
+ return tjVipSumDao.selectCardUse(timeSpaceParam, null, companyId);
+ case "4" :
+ return tjVipSumDao.selectHisConsume(timeSpaceParam, null, companyId);
+ case "5" :
+ return tjVipSumDao.selectFreeConsume(timeSpaceParam, null, companyId);
+ case "6" :
+ return tjVipSumDao.selectCashRefund(timeSpaceParam, null, companyId);
+ case "7" :
+ return tjVipSumDao.selectCardRefund(timeSpaceParam, null, companyId);
+ case "8" :
+ return tjVipSumDao.selectArrears(timeSpaceParam, null, companyId);
+ default :
+ return tjVipSumDao.selectBusinessInCome(timeSpaceParam, null, companyId);
+ }
+ }
+ });
+ return setDataList(ajaxResult);
+ }
+ }
+
+ private AjaxResult setDataList(AjaxResult ajaxResult) {
+ List<SeriesVo> list = (List<SeriesVo>) ajaxResult.getMapInfo().get("series");
+ String[] xAxis = (String[]) ajaxResult.getMapInfo().get("xAxis");
+ String [] data = list.get(0).getData();
+ if (data != null && data.length != 0) {
+ List<Map<String, String>> dataList = new ArrayList<>();
+ for(int i = data.length - 1; i >= 0; i--) {
+ Map<String, String> map = new HashMap<>();
+ map.put(xAxis[i], data[i]);
+ dataList.add(map);
+ }
+ ajaxResult.setRows(dataList);
+ }
+
+ return ajaxResult;
+ }
+
+
+ @ApiOperation(value = "查询员工业绩报表", notes = "查询员工业绩报表")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = VipAchieveDataShowVo.class)
+ })
+ @PostMapping(value = "/findVipAchieve")
+ public AjaxResult findVipAchieve(@RequestBody BusinessesDto businessesDto) {
+ AchieveNew achieveNew = new AchieveNew();
+ if (BusinessesDto.DAY.equals(businessesDto.getType())) {
+ achieveNew.setT1("%Y-%m-%d");
+ } else {
+ achieveNew.setT1("%Y-%m");
+ }
+
+ SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ if (businessesDto.getStaffId() == null) {
+
+ businessesDto.setStaffId(sysUsers.getSuId());
+ }
+ achieveNew.setVipId(businessesDto.getStaffId());
+
+ PaginationVO pageVo = new PaginationVO();
+ pageVo.setLimit(businessesDto.getPageSize());
+ pageVo.setOffset((businessesDto.getPageNum() - 1) * businessesDto.getPageSize());
+ return AjaxResult.buildSuccessInstance(tjVipSumDao.selectVipAchieveInPage(achieveNew, pageVo));
+ }
+
+ @ApiOperation(value = "员工专项", notes = "员工专项")
+ @PostMapping(value = "/findVipBusinessData")
+ public AjaxResult findVipBusinessData(@RequestBody @Validated VipStatisticsParamDto vipStatisticsParamDto) {
+ AjaxResult ajaxResult = dataAnalysisCustomerService.getStaffAnalysisResult(vipStatisticsParamDto, new Caculate<BigDecimal>() {
+ @Override
+ public Map<String, BigDecimal> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId, Long staffId) {
+ switch (vipStatisticsParamDto.getType()) {
+ case "1" :
+ return tjVipSumDao.selectStaffOrderAchieve(timeSpaceParam, staffId);
+ case "2" :
+ return tjVipSumDao.selectStaffCashAchieve(timeSpaceParam, staffId);
+ case "3" :
+ return tjVipSumDao.selectStaffCardAchieve(timeSpaceParam, staffId);
+ case "4" :
+ return tjVipSumDao.selectStaffGoodsAchieve(timeSpaceParam, staffId);
+ case "5" :
+ return tjVipSumDao.selectStaffCardUseAchieve(timeSpaceParam, staffId);
+ case "6" :
+ return tjVipSumDao.selectStaffHisConsumeAchieve(timeSpaceParam, staffId);
+ case "7" :
+ return tjVipSumDao.selectStaffFreeConsumeAchieve(timeSpaceParam, staffId);
+ case "8" :
+ return tjVipSumDao.selectStaffCommissionAchieve(timeSpaceParam, staffId);
+ case "9" :
+ return tjVipSumDao.selectStaffPeopleNum(timeSpaceParam, staffId);
+ case "10" :
+ return tjVipSumDao.selectStaffProjNum(timeSpaceParam, staffId);
+ case "11" :
+ return tjVipSumDao.selectStaffProjTime(timeSpaceParam, staffId);
+ default:
+ return tjVipSumDao.selectStaffOrderAchieve(timeSpaceParam, staffId);
+ }
+ }
+ });
+
+ return setDataList(ajaxResult);
+ }
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiUsersAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiUsersAction.java
index 95a5374..5858e80 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiUsersAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiUsersAction.java
@@ -1,10 +1,12 @@
package com.matrix.system.app.action;
+import com.matrix.component.redis.RedisClient;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.DateUtil;
import com.matrix.core.tools.WebUtil;
import com.matrix.system.app.dto.BeauticianDto;
+import com.matrix.system.app.dto.UsersQueryDto;
import com.matrix.system.app.mapper.SysBeauticianStateMapper;
import com.matrix.system.app.mapper.SysUsersMapper;
import com.matrix.system.app.mapper.SysWorkBeatuistaffMapper;
@@ -12,6 +14,7 @@
import com.matrix.system.app.vo.UserAchieveVo;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.service.SysUsersService;
+import com.matrix.system.common.tools.DataAuthUtil;
import com.matrix.system.hive.bean.SysBeauticianState;
import com.matrix.system.hive.bean.SysWorkBeatuistaff;
import com.matrix.system.hive.service.AchieveNewService;
@@ -50,6 +53,9 @@
@Autowired
private SysWorkBeatuistaffService sysWorkBeatuistaffService;
+ @Autowired
+ private RedisClient redisClient;
+
@ApiOperation(value = "个人中心--获取用户业绩接口 type 1-今日 2-昨天 3-本月 4-上月")
@ApiResponses({
@@ -89,4 +95,36 @@
return new AjaxResult(AjaxResult.STATUS_SUCCESS, SysWorkBeatuistaffMapper.INSTANCE.workBeautysToBeautyVos(workBeauty), 0);
}
+ @ApiOperation(value = "退出登陆", notes = "退出登陆")
+ @GetMapping(value = "/loginOut")
+ public AjaxResult loginOut() {
+ SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ String token = redisClient.getCachedValue(sysUsers.getSuId().toString());
+
+ redisClient.removeObject(token);
+ redisClient.removeObject(sysUsers.getSuId().toString());
+ return AjaxResult.buildSuccessInstance("退出成功");
+ }
+
+ @ApiOperation(value = "员工列表", notes = "员工列表")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = BeauticianVo.class)
+ })
+ @PostMapping(value = "/findAllUsers")
+ public AjaxResult findAllUsers(@RequestBody UsersQueryDto usersQueryDto) {
+ SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+
+ SysUsers query = new SysUsers();
+ if (DataAuthUtil.hasAllShopAuth()) {
+ query.setCompanyId(sysUsers.getCompanyId());
+ } else {
+ query.setCompanyId(sysUsers.getCompanyId());
+ query.setShopId(sysUsers.getShopId());
+ }
+ query.setSuName(usersQueryDto.getQueryKey());
+ List<SysUsers> list = sysUsersService.findByModel(query);
+ List<BeauticianVo> dataList = SysUsersMapper.INSTANCE.usersListToBeautyList(list);
+ return AjaxResult.buildSuccessInstance(dataList);
+ }
+
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java
index c25ac3f..0a52155 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java
@@ -6,17 +6,22 @@
import com.matrix.core.tools.WebUtil;
import com.matrix.system.app.dto.AddVipDto;
import com.matrix.system.app.dto.ModifyVipDto;
+import com.matrix.system.app.dto.QuestionAnswerDto;
import com.matrix.system.app.dto.VipInfoListDto;
-import com.matrix.system.app.vo.VipInfoDetailVo;
-import com.matrix.system.app.vo.VipInfoListVo;
-import com.matrix.system.app.vo.VipInfoVo;
+import com.matrix.system.app.mapper.MoneyCardUseMapper;
+import com.matrix.system.app.mapper.QuestionMapper;
+import com.matrix.system.app.vo.*;
import com.matrix.system.common.bean.CustomerDataDictionary;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.dao.CustomerDataDictionaryDao;
import com.matrix.system.common.tools.DataAuthUtil;
import com.matrix.system.hive.action.BaseController;
-import com.matrix.system.hive.bean.SysVipInfo;
-import com.matrix.system.hive.bean.SysVipLevel;
+import com.matrix.system.hive.bean.*;
+import com.matrix.system.hive.dao.MoneyCardUseDao;
+import com.matrix.system.hive.dao.VipAnswerDao;
+import com.matrix.system.hive.plugin.util.CollectionUtils;
+import com.matrix.system.hive.service.MoneyCardUseService;
+import com.matrix.system.hive.service.QuestionSerivce;
import com.matrix.system.hive.service.SysVipInfoService;
import com.matrix.system.hive.service.SysVipLevelService;
import io.swagger.annotations.Api;
@@ -46,6 +51,15 @@
@Autowired
private CustomerDataDictionaryDao customerDataDictionaryDao;
+
+ @Autowired
+ private MoneyCardUseService moneyCardUseService;
+
+ @Autowired
+ private QuestionSerivce questionSerivce;
+
+ @Autowired
+ private VipAnswerDao vipAnswerDao;
@ApiOperation(value = "获取会员通讯录列表", notes = "获取会员通讯录列表")
@ApiResponses({
@@ -144,4 +158,45 @@
return AjaxResult.buildSuccessInstance(sysVipInfoService.findAll(sysVipInfo));
}
+
+ @ApiOperation(value = "卡项 - 获取会员卡项列表", notes = "卡项 - 获取会员卡项列表")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = VipCardListVo.class)
+ })
+ @GetMapping(value = "/findVipCardInfo/{vipId}")
+ public AjaxResult findVipCardInfo(@PathVariable("vipId") Long vipId) {
+ MoneyCardUse moneyCardUse = new MoneyCardUse();
+ moneyCardUse.setVipId(vipId);
+ List<MoneyCardUse> list = moneyCardUseService.findVipCardUseInPage(moneyCardUse, null);
+
+ List<VipCardListVo> dataList = MoneyCardUseMapper.INSTANCE.entitiesToCardListVos(list);
+ return AjaxResult.buildSuccessInstance(dataList);
+ }
+
+ @ApiOperation(value = "会员档案 - 获取客户档案问题", notes = "会员档案 - 获取客户档案问题")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = QuestionVo.class)
+ })
+ @GetMapping(value = "/findVipQuestions/{vipId}")
+ public AjaxResult findVipQuestions(@PathVariable("vipId") Long vipId) {
+ // 获取会员所有的答案,分类型
+ List<Question> questions = questionSerivce.findByVipId(vipId);
+ AjaxResult result = AjaxResult.buildSuccessInstance("获取成功");
+ List<QuestionVo> list = QuestionMapper.INSTANCE.entitiesToVos(questions);
+ result.putInMap("questions", list);
+ return result;
+ }
+
+ @ApiOperation(value = "会员档案 - 提交会员档案", notes = "会员档案 - 提交会员档案")
+ @PostMapping(value = "/saveVipQuestionsAnswer")
+ public AjaxResult saveVipQuestionsAnswer(@RequestBody QuestionAnswerDto questionAnswerDto) {
+ VipAnswer delAnswer = new VipAnswer();
+ delAnswer.setVipId(questionAnswerDto.getVipId());
+ vipAnswerDao.deleteByModel(delAnswer);
+ if (CollectionUtils.isNotEmpty(questionAnswerDto.getItems())) {
+ List<VipAnswer> vipAnswers = QuestionMapper.INSTANCE.dtosToVipAnswers(questionAnswerDto.getItems());
+ vipAnswerDao.batchInsert(vipAnswers);
+ }
+ return AjaxResult.buildSuccessInstance("档案更新成功");
+ }
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/ArticleListDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/ArticleListDto.java
new file mode 100644
index 0000000..fa97fee
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/ArticleListDto.java
@@ -0,0 +1,26 @@
+package com.matrix.system.app.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wzy
+ * @date 2021-01-05
+ **/
+@ApiModel(value = "ArticleListDto", description = "文章列表接收参数类")
+public class ArticleListDto extends BasePageDto {
+
+ @NotNull
+ @ApiModelProperty(value = "分类ID")
+ private Long typeId;
+
+ public Long getTypeId() {
+ return typeId;
+ }
+
+ public void setTypeId(Long typeId) {
+ this.typeId = typeId;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/BusinessesDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/BusinessesDto.java
new file mode 100644
index 0000000..0e5cf41
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/BusinessesDto.java
@@ -0,0 +1,45 @@
+package com.matrix.system.app.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+@ApiModel(value = "BusinessesDto", description = "门店/公司报表参数接受类")
+public class BusinessesDto extends BasePageDto{
+
+ public static final String DAY = "1";
+
+ public static final String MONTH = "2";
+
+ @ApiModelProperty(value = "type 1-每日 2-每月", example = "1")
+ private String type;
+
+ @ApiModelProperty(value = "门店ID", example = "34")
+ private Long shopId;
+
+ @ApiModelProperty(value = "会员ID")
+ private Long staffId;
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public Long getShopId() {
+ return shopId;
+ }
+
+ public void setShopId(Long shopId) {
+ this.shopId = shopId;
+ }
+
+ public Long getStaffId() {
+ return staffId;
+ }
+
+ public void setStaffId(Long staffId) {
+ this.staffId = staffId;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerDto.java
new file mode 100644
index 0000000..37df68b
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerDto.java
@@ -0,0 +1,38 @@
+package com.matrix.system.app.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2020-12-28
+ **/
+@ApiModel(value = "QuestionAnswerDto", description = "提交客户档案接口参数接收类")
+public class QuestionAnswerDto {
+
+ @NotNull(message = "参数错误")
+ @ApiModelProperty(value = "会员ID")
+ private Long vipId;
+
+ @ApiModelProperty(value = "题目答案列表")
+ private List<QuestionAnswerItemDto> items;
+
+ public Long getVipId() {
+ return vipId;
+ }
+
+ public void setVipId(Long vipId) {
+ this.vipId = vipId;
+ }
+
+ public List<QuestionAnswerItemDto> getItems() {
+ return items;
+ }
+
+ public void setItems(List<QuestionAnswerItemDto> items) {
+ this.items = items;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerItemDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerItemDto.java
new file mode 100644
index 0000000..9d3c49a
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerItemDto.java
@@ -0,0 +1,56 @@
+package com.matrix.system.app.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @author wzy
+ * @date 2020-12-28
+ **/
+@ApiModel(value = "QuestionAnswerItemDto", description = "问题答案接收类")
+public class QuestionAnswerItemDto {
+
+ @ApiModelProperty(value = "问题ID")
+ private Long questionId;
+
+ @ApiModelProperty(value = "会员ID")
+ private Long vipId;
+
+ @ApiModelProperty(value = "答案Ids,逗号隔开")
+ private String answerId;
+
+ @ApiModelProperty(value = "文本答案")
+ private String answerText;
+
+ public Long getVipId() {
+ return vipId;
+ }
+
+ public void setVipId(Long vipId) {
+ this.vipId = vipId;
+ }
+
+ public Long getQuestionId() {
+ return questionId;
+ }
+
+ public void setQuestionId(Long questionId) {
+ this.questionId = questionId;
+ }
+
+ public String getAnswerId() {
+ return answerId;
+ }
+
+ public void setAnswerId(String answerId) {
+ this.answerId = answerId;
+ }
+
+ public String getAnswerText() {
+ return answerText;
+ }
+
+ public void setAnswerText(String answerText) {
+ this.answerText = answerText;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/RankingDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/RankingDto.java
new file mode 100644
index 0000000..3c3d788
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/RankingDto.java
@@ -0,0 +1,43 @@
+package com.matrix.system.app.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+/**
+ * @author wzy
+ * @date 2020-12-28
+ **/
+@ApiModel(value = "RankingDto", description = "排行榜参数接收类")
+public class RankingDto {
+
+ public static final String SALE = "1";
+ public static final String CONSUME = "2";
+
+ public static final String DAY = "1";
+ public static final String MONTH = "2";
+ public static final String YEAR = "3";
+
+ @ApiModelProperty(value = "数据类型 1-销售 2-消耗", example = "1")
+ private String dataType;
+
+ @ApiModelProperty(value = "排行榜类型 1-日榜 2-月榜 3-年榜", example = "1")
+ private String type;
+
+ public String getDataType() {
+ return dataType;
+ }
+
+ public void setDataType(String dataType) {
+ this.dataType = dataType;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/SkinCheckListDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/SkinCheckListDto.java
new file mode 100644
index 0000000..5540113
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/SkinCheckListDto.java
@@ -0,0 +1,22 @@
+package com.matrix.system.app.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+
+@ApiModel(value = "SkinCheckListDto", description = "皮肤检测列表接收参数类")
+public class SkinCheckListDto extends BasePageDto{
+
+ @NotNull(message = "参数错误")
+ @ApiModelProperty(value = "会员ID", example = "361")
+ private Long vipId;
+
+ public Long getVipId() {
+ return vipId;
+ }
+
+ public void setVipId(Long vipId) {
+ this.vipId = vipId;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/UsersQueryDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/UsersQueryDto.java
new file mode 100644
index 0000000..8374880
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/UsersQueryDto.java
@@ -0,0 +1,23 @@
+package com.matrix.system.app.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @author wzy
+ * @date 2021-01-05
+ **/
+@ApiModel(value = "UsersQueryDto", description = "员工列表接口参数类")
+public class UsersQueryDto {
+
+ @ApiModelProperty(value = "查询参数")
+ private String queryKey;
+
+ public String getQueryKey() {
+ return queryKey;
+ }
+
+ public void setQueryKey(String queryKey) {
+ this.queryKey = queryKey;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/VipStatisticsParamDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/VipStatisticsParamDto.java
new file mode 100644
index 0000000..2f58a71
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/VipStatisticsParamDto.java
@@ -0,0 +1,100 @@
+package com.matrix.system.app.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 统计查询条件
+ * @author jyy
+ */
+@ApiModel(value = "VipStatisticsParamDto", description = "员工专项统计接收参数类")
+public class VipStatisticsParamDto {
+
+ public static final String COMPANY = "1";
+
+ public static final String SHOP = "2";
+
+ /**
+ * 开始时间
+ */
+ @NotBlank(message = "参数错误")
+ @ApiModelProperty(value = "开始时间", example = "2020-12-01")
+ private String beginTime;
+
+ /**
+ *结束时间
+ */
+ @NotBlank(message = "参数错误")
+ @ApiModelProperty(value = "结束时间", example = "2020-12-31")
+ private String endTime;
+ /**
+ *统计单位
+ */
+ @NotBlank(message = "参数错误")
+ @ApiModelProperty(value = "统计单位", example = "日")
+ private String statisticsUnit;
+
+ /**
+ *对比单位
+ */
+ @ApiModelProperty(hidden = true)
+ private String contrastUnit;
+ /**
+ * 门店id
+ */
+ @ApiModelProperty(value = "员工, 不传默认当前登陆用户")
+ private Long staffId;
+
+ @ApiModelProperty(value = "类型 1-订单业绩 2-现金业绩 3-售卡业绩 4-产品业绩 5-划扣业绩 6-本金消耗 7-赠送消耗 8-服务提成 9-人头数 10-项目数 11-服务时长", example = "1")
+ private String type;
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getBeginTime() {
+ return beginTime;
+ }
+
+ public void setBeginTime(String beginTime) {
+ this.beginTime = beginTime;
+ }
+
+ public String getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(String endTime) {
+ this.endTime = endTime;
+ }
+
+ public String getStatisticsUnit() {
+ return statisticsUnit;
+ }
+
+ public void setStatisticsUnit(String statisticsUnit) {
+ this.statisticsUnit = statisticsUnit;
+ }
+
+ public String getContrastUnit() {
+ return contrastUnit;
+ }
+
+ public void setContrastUnit(String contrastUnit) {
+ this.contrastUnit = contrastUnit;
+ }
+
+ public Long getStaffId() {
+ return staffId;
+ }
+
+ public void setStaffId(Long staffId) {
+ this.staffId = staffId;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/mapper/MoneyCardUseMapper.java b/zq-erp/src/main/java/com/matrix/system/app/mapper/MoneyCardUseMapper.java
new file mode 100644
index 0000000..8ad6f7d
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/mapper/MoneyCardUseMapper.java
@@ -0,0 +1,21 @@
+package com.matrix.system.app.mapper;
+
+import com.matrix.system.app.vo.VipCardListVo;
+import com.matrix.system.hive.bean.MoneyCardUse;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2020-12-28
+ **/
+@Mapper
+public abstract class MoneyCardUseMapper {
+ public static final MoneyCardUseMapper INSTANCE = Mappers.getMapper(MoneyCardUseMapper.class);
+
+ public abstract VipCardListVo entityToCardListVo(MoneyCardUse moneyCardUse);
+
+ public abstract List<VipCardListVo> entitiesToCardListVos(List<MoneyCardUse> list);
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/mapper/QuestionMapper.java b/zq-erp/src/main/java/com/matrix/system/app/mapper/QuestionMapper.java
new file mode 100644
index 0000000..c16b5d8
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/mapper/QuestionMapper.java
@@ -0,0 +1,31 @@
+package com.matrix.system.app.mapper;
+
+import com.matrix.system.app.dto.QuestionAnswerDto;
+import com.matrix.system.app.dto.QuestionAnswerItemDto;
+import com.matrix.system.app.vo.QuestionVo;
+import com.matrix.system.hive.bean.Question;
+import com.matrix.system.hive.bean.VipAnswer;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2020-12-28
+ **/
+@Mapper
+public abstract class QuestionMapper {
+ public static final QuestionMapper INSTANCE = Mappers.getMapper(QuestionMapper.class);
+
+ public abstract QuestionVo entityToVo(Question question);
+
+ public abstract List<QuestionVo> entitiesToVos(List<Question> list);
+
+ @Mapping(source = "questionId", target = "quesionId")
+ public abstract VipAnswer dtoToVipAnswer(QuestionAnswerItemDto questionAnswerDto);
+
+ public abstract List<VipAnswer> dtosToVipAnswers(List<QuestionAnswerItemDto> list);
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/mapper/SysSkinCheckRecordMapper.java b/zq-erp/src/main/java/com/matrix/system/app/mapper/SysSkinCheckRecordMapper.java
new file mode 100644
index 0000000..411a311
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/mapper/SysSkinCheckRecordMapper.java
@@ -0,0 +1,38 @@
+package com.matrix.system.app.mapper;
+
+import com.matrix.system.app.vo.SkinCheckAnalysisItems;
+import com.matrix.system.app.vo.SkinCheckDetailVo;
+import com.matrix.system.app.vo.SkinCheckDiagnoseItemVo;
+import com.matrix.system.app.vo.SkinCheckListVo;
+import com.matrix.system.hive.bean.SysSkinCheckRecord;
+import com.matrix.system.hive.bean.SysSkinDetail;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+@Mapper
+public abstract class SysSkinCheckRecordMapper {
+ public static final SysSkinCheckRecordMapper INSTANCE = Mappers.getMapper(SysSkinCheckRecordMapper.class);
+
+ public abstract SkinCheckListVo entityToSkinCheckListVo(SysSkinCheckRecord sysSkinCheckRecord);
+
+ public abstract List<SkinCheckListVo> entitiesToListVos(List<SysSkinCheckRecord> list);
+
+ @Mapping(target = "sex", source = "ext2")
+ @Mapping(target = "vipName", source = "userName")
+ public abstract SkinCheckDetailVo entityToDetailVo(SysSkinCheckRecord sysSkinCheckRecord);
+
+ @Mapping(target = "title", source = "symptom")
+ public abstract SkinCheckDiagnoseItemVo entityToDiagnoseItem(SysSkinDetail sysSkinDetail);
+
+ public abstract List<SkinCheckDiagnoseItemVo> entitiesToDiagnoseItems(List<SysSkinDetail> list);
+
+ @Mapping(target = "title", source = "symptom")
+ public abstract SkinCheckAnalysisItems entityToAnalysisItem(SysSkinDetail sysSkinDetail);
+
+ public abstract List<SkinCheckAnalysisItems> entitiesToAnalysisItems(List<SysSkinDetail> list);
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/mapper/SysUsersMapper.java b/zq-erp/src/main/java/com/matrix/system/app/mapper/SysUsersMapper.java
index 4bcfc7a..0a238e8 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/mapper/SysUsersMapper.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/mapper/SysUsersMapper.java
@@ -18,6 +18,8 @@
@Mapping(source = "suId", target = "id")
@Mapping(source = "suName", target = "name")
+ @Mapping(source = "suPhoto", target = "photo")
+ @Mapping(source = "suTel", target = "telphone")
public abstract BeauticianVo sysUsersToBeauticianVo(SysUsers sysUsers);
public abstract List<BeauticianVo> usersListToBeautyList(List<SysUsers> list);
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/BeauticianVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/BeauticianVo.java
index 2542a67..8e25766 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/vo/BeauticianVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/BeauticianVo.java
@@ -13,6 +13,12 @@
private String name;
+ private String roleName;
+
+ private String photo;
+
+ private String telphone;
+
public Long getId() {
return id;
}
@@ -28,4 +34,28 @@
public void setName(String name) {
this.name = name;
}
+
+ public String getRoleName() {
+ return roleName;
+ }
+
+ public void setRoleName(String roleName) {
+ this.roleName = roleName;
+ }
+
+ public String getPhoto() {
+ return photo;
+ }
+
+ public void setPhoto(String photo) {
+ this.photo = photo;
+ }
+
+ public String getTelphone() {
+ return telphone;
+ }
+
+ public void setTelphone(String telphone) {
+ this.telphone = telphone;
+ }
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/BusinessesDataShowVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/BusinessesDataShowVo.java
new file mode 100644
index 0000000..f47b02e
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/BusinessesDataShowVo.java
@@ -0,0 +1,111 @@
+package com.matrix.system.app.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @author wzy
+ * @date 2020-12-29
+ **/
+@ApiModel(value = "BusinessDataShowVo", description = "经营报表返回参数类")
+public class BusinessesDataShowVo {
+
+ @ApiModelProperty(value = "时间")
+ private String dataTime;
+
+ @ApiModelProperty(value = "营业收入")
+ private String totalPay;
+
+ @ApiModelProperty(value = "现金收入")
+ private String cashPay;
+
+ @ApiModelProperty(value = "余额划扣")
+ private String cardPay;
+
+ @ApiModelProperty(value = "欠款")
+ private String arrearsPay;
+
+ @ApiModelProperty(value = "赠送消耗")
+ private String freeConsumePay;
+
+ @ApiModelProperty(value = "本金消耗")
+ private String consumePay;
+
+ @ApiModelProperty(value = "现金退款")
+ private String refundCashPay;
+
+ @ApiModelProperty(value = "卡项退款")
+ private String refundCardPay;
+
+ public String getDataTime() {
+ return dataTime;
+ }
+
+ public void setDataTime(String dataTime) {
+ this.dataTime = dataTime;
+ }
+
+ public String getTotalPay() {
+ return totalPay;
+ }
+
+ public void setTotalPay(String totalPay) {
+ this.totalPay = totalPay;
+ }
+
+ public String getCashPay() {
+ return cashPay;
+ }
+
+ public void setCashPay(String cashPay) {
+ this.cashPay = cashPay;
+ }
+
+ public String getCardPay() {
+ return cardPay;
+ }
+
+ public void setCardPay(String cardPay) {
+ this.cardPay = cardPay;
+ }
+
+ public String getArrearsPay() {
+ return arrearsPay;
+ }
+
+ public void setArrearsPay(String arrearsPay) {
+ this.arrearsPay = arrearsPay;
+ }
+
+ public String getFreeConsumePay() {
+ return freeConsumePay;
+ }
+
+ public void setFreeConsumePay(String freeConsumePay) {
+ this.freeConsumePay = freeConsumePay;
+ }
+
+ public String getConsumePay() {
+ return consumePay;
+ }
+
+ public void setConsumePay(String consumePay) {
+ this.consumePay = consumePay;
+ }
+
+ public String getRefundCashPay() {
+ return refundCashPay;
+ }
+
+ public void setRefundCashPay(String refundCashPay) {
+ this.refundCashPay = refundCashPay;
+ }
+
+ public String getRefundCardPay() {
+ return refundCardPay;
+ }
+
+ public void setRefundCardPay(String refundCardPay) {
+ this.refundCardPay = refundCardPay;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/QuestionVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/QuestionVo.java
new file mode 100644
index 0000000..35b08e6
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/QuestionVo.java
@@ -0,0 +1,88 @@
+package com.matrix.system.app.vo;
+
+import com.matrix.core.tools.StringUtils;
+import com.matrix.system.hive.bean.Answer;
+import com.matrix.system.hive.bean.VipAnswer;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2020-12-28
+ **/
+@ApiModel(value = "QuestionVo", description = "会员档案返回参数类")
+public class QuestionVo {
+
+ @ApiModelProperty(value = "问题ID")
+ private Long id;
+
+ @ApiModelProperty(value = "问题")
+ private String question;
+
+ @ApiModelProperty(value = "类型 1-文本 输入框 2-单选 下拉框 3-多选 多选框 4-长文本 文本域 5-标题 只显示即可")
+ private String type;
+
+ @ApiModelProperty(value = "单选、多选的选项")
+ private List<Answer> answers;
+
+ @ApiModelProperty(value = "回显答案")
+ private VipAnswer vipAnswer;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getQuestion() {
+ return question;
+ }
+
+ public void setQuestion(String question) {
+ this.question = question;
+ }
+
+ public String getType() {
+ if (StringUtils.isNotBlank(type)) {
+ switch (type) {
+ case "文本" :
+ return "1";
+ case "单选" :
+ return "2";
+ case "多选" :
+ return "3";
+ case "长文本" :
+ return "4";
+ case "标题" :
+ return "5";
+ default:
+ return "6";
+ }
+ }
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public List<Answer> getAnswers() {
+ return answers;
+ }
+
+ public void setAnswers(List<Answer> answers) {
+ this.answers = answers;
+ }
+
+ public VipAnswer getVipAnswer() {
+ return vipAnswer;
+ }
+
+ public void setVipAnswer(VipAnswer vipAnswer) {
+ this.vipAnswer = vipAnswer;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/RankingVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/RankingVo.java
new file mode 100644
index 0000000..38ebab8
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/RankingVo.java
@@ -0,0 +1,69 @@
+package com.matrix.system.app.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+
+/**
+ * @author wzy
+ * @date 2020-12-28
+ **/
+@ApiModel(value = "RankingVo", description = "排行榜返回参数类")
+public class RankingVo {
+
+ @ApiModelProperty(value = "姓名")
+ private String name;
+
+ @ApiModelProperty(value = "头像")
+ private String photo;
+
+ @ApiModelProperty(value = "金额")
+ private BigDecimal amount;
+
+ @ApiModelProperty(value = "店铺名称")
+ private String shopName;
+
+ @ApiModelProperty(value = "员工ID")
+ private Long id;
+
+ public String getShopName() {
+ return shopName;
+ }
+
+ public void setShopName(String shopName) {
+ this.shopName = shopName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getPhoto() {
+ return photo;
+ }
+
+ public void setPhoto(String photo) {
+ this.photo = photo;
+ }
+
+ public BigDecimal getAmount() {
+ return amount == null ? amount : amount.setScale(BigDecimal.ROUND_DOWN, 2);
+ }
+
+ public void setAmount(BigDecimal amount) {
+ this.amount = amount;
+ }
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckAnalysisItems.java b/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckAnalysisItems.java
new file mode 100644
index 0000000..2f1806f
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckAnalysisItems.java
@@ -0,0 +1,77 @@
+package com.matrix.system.app.vo;
+
+import com.matrix.system.shopXcx.bean.ShopProduct;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+@ApiModel(value = "SkinCheckAnalysisItems", description = "问题分析返回接口类")
+public class SkinCheckAnalysisItems {
+
+ @ApiModelProperty(value = "图片")
+ private String img;
+
+ @ApiModelProperty(value = "标题")
+ private String title;
+
+ @ApiModelProperty(value = "问题分析")
+ private String analysis;
+
+ @ApiModelProperty(value = "解决办法")
+ private String solution;
+
+ @ApiModelProperty(hidden = true)
+ private String productIds;
+
+ @ApiModelProperty(value = "产品列表")
+ private List<String> products;
+
+ public String getProductIds() {
+ return productIds;
+ }
+
+ public void setProductIds(String productIds) {
+ this.productIds = productIds;
+ }
+
+ public String getImg() {
+ return img;
+ }
+
+ public void setImg(String img) {
+ this.img = img;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getAnalysis() {
+ return analysis;
+ }
+
+ public void setAnalysis(String analysis) {
+ this.analysis = analysis;
+ }
+
+ public String getSolution() {
+ return solution;
+ }
+
+ public void setSolution(String solution) {
+ this.solution = solution;
+ }
+
+ public List<String> getProducts() {
+ return products;
+ }
+
+ public void setProducts(List<String> products) {
+ this.products = products;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckDetailVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckDetailVo.java
new file mode 100644
index 0000000..cec1053
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckDetailVo.java
@@ -0,0 +1,80 @@
+package com.matrix.system.app.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.matrix.core.tools.DateUtil;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+import java.util.List;
+
+@ApiModel(value = "SkinCheckDetailVo", description = "皮肤检测详情返回接口类")
+public class SkinCheckDetailVo {
+
+ @ApiModelProperty(value = "会员姓名")
+ private String vipName;
+
+ @ApiModelProperty(value = "头像")
+ private String photo;
+
+ @ApiModelProperty(value = "性别")
+ private String sex;
+
+ @JsonFormat(pattern = DateUtil.DATE_FORMAT_DD, timezone = "GMT+8")
+ @ApiModelProperty(value = "检测时间")
+ private Date checkTime;
+
+ @ApiModelProperty(value = "诊断结果")
+ List<SkinCheckDiagnoseItemVo> diagnoseItems;
+
+ @ApiModelProperty(value = "问题分析")
+ List<SkinCheckAnalysisItems> analysisItems;
+
+ public String getVipName() {
+ return vipName;
+ }
+
+ public void setVipName(String vipName) {
+ this.vipName = vipName;
+ }
+
+ public String getPhoto() {
+ return photo;
+ }
+
+ public void setPhoto(String photo) {
+ this.photo = photo;
+ }
+
+ public String getSex() {
+ return sex;
+ }
+
+ public void setSex(String sex) {
+ this.sex = sex;
+ }
+
+ public Date getCheckTime() {
+ return checkTime;
+ }
+
+ public void setCheckTime(Date checkTime) {
+ this.checkTime = checkTime;
+ }
+
+ public List<SkinCheckDiagnoseItemVo> getDiagnoseItems() {
+ return diagnoseItems;
+ }
+
+ public void setDiagnoseItems(List<SkinCheckDiagnoseItemVo> diagnoseItems) {
+ this.diagnoseItems = diagnoseItems;
+ }
+
+ public List<SkinCheckAnalysisItems> getAnalysisItems() {
+ return analysisItems;
+ }
+
+ public void setAnalysisItems(List<SkinCheckAnalysisItems> analysisItems) {
+ this.analysisItems = analysisItems;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckDiagnoseItemVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckDiagnoseItemVo.java
new file mode 100644
index 0000000..1f5cbcc
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckDiagnoseItemVo.java
@@ -0,0 +1,31 @@
+package com.matrix.system.app.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+@ApiModel(value = "SkinCheckDiagnoseItemVo", description = "诊断结果返回参数类")
+public class SkinCheckDiagnoseItemVo {
+
+ @ApiModelProperty(value = "标题")
+ private String title;
+
+ @ApiModelProperty(value = "百分比")
+ private Double percentage;
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+
+ public Double getPercentage() {
+ return percentage;
+ }
+
+ public void setPercentage(Double percentage) {
+ this.percentage = percentage;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckListVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckListVo.java
new file mode 100644
index 0000000..7e3e292
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckListVo.java
@@ -0,0 +1,69 @@
+package com.matrix.system.app.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.matrix.core.tools.DateUtil;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+@ApiModel(value = "SkinCheckListVo", description = "皮肤检测列表返回参数类")
+public class SkinCheckListVo {
+
+ @ApiModelProperty(value = "id")
+ private Long id;
+
+ @ApiModelProperty(value = "标题")
+ private String title;
+
+ @ApiModelProperty(value = "检测人员")
+ private String checkUserName;
+
+ @ApiModelProperty(value = "检测门店")
+ private String shopName;
+
+ @JsonFormat(pattern = DateUtil.DATE_FORMAT_DD, timezone = "GMT+8")
+ @ApiModelProperty(value = "检测时间")
+ private Date checkTime;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+
+ public String getCheckUserName() {
+ return checkUserName;
+ }
+
+ public void setCheckUserName(String checkUserName) {
+ this.checkUserName = checkUserName;
+ }
+
+ public String getShopName() {
+ return shopName;
+ }
+
+ public void setShopName(String shopName) {
+ this.shopName = shopName;
+ }
+
+ public Date getCheckTime() {
+ return checkTime;
+ }
+
+ public void setCheckTime(Date checkTime) {
+ this.checkTime = checkTime;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/UserInfoVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/UserInfoVo.java
index 4054540..105bd58 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/vo/UserInfoVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/UserInfoVo.java
@@ -22,6 +22,9 @@
@ApiModelProperty(value = "头像", example = "--")
private String photo;
+ @ApiModelProperty(value = "门店名称")
+ private String shopName;
+
public Long getId() {
return id;
}
@@ -53,4 +56,12 @@
public void setPhoto(String photo) {
this.photo = photo;
}
+
+ public String getShopName() {
+ return shopName;
+ }
+
+ public void setShopName(String shopName) {
+ this.shopName = shopName;
+ }
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/VipAchieveDataShowVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/VipAchieveDataShowVo.java
new file mode 100644
index 0000000..d392636
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/VipAchieveDataShowVo.java
@@ -0,0 +1,147 @@
+package com.matrix.system.app.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+
+/**
+ * @author wzy
+ * @date 2020-12-31
+ **/
+@ApiModel(value = "VipAchieveDataShowVo", description = "员工业绩返回参数类")
+public class VipAchieveDataShowVo {
+
+ @ApiModelProperty(value = "时间")
+ private String time;
+
+ @ApiModelProperty(value = "订单业绩")
+ private BigDecimal orderAmount;
+
+ @ApiModelProperty(value = "现金业绩")
+ private BigDecimal cashAmount;
+
+ @ApiModelProperty(value = "售卡业绩")
+ private BigDecimal cardAmount;
+
+ @ApiModelProperty(value = "产品业绩")
+ private BigDecimal goodsAmount;
+
+ @ApiModelProperty(value = "划扣业绩")
+ private BigDecimal cardUseAmount;
+
+ @ApiModelProperty(value = "本金消耗")
+ private BigDecimal hisConsume;
+
+ @ApiModelProperty(value = "赠送消耗")
+ private BigDecimal freeConsume;
+
+ @ApiModelProperty(value = "提成")
+ private BigDecimal commission;
+
+ @ApiModelProperty(value = "人头数")
+ private BigDecimal peopleNum;
+
+ @ApiModelProperty(value = "项目数")
+ private Integer projNum;
+
+ @ApiModelProperty(value = "服务时长")
+ private Integer serviceTime;
+
+
+ public String getTime() {
+ return time;
+ }
+
+ public void setTime(String time) {
+ this.time = time;
+ }
+
+ public BigDecimal getOrderAmount() {
+ return orderAmount;
+ }
+
+ public void setOrderAmount(BigDecimal orderAmount) {
+ this.orderAmount = orderAmount;
+ }
+
+ public BigDecimal getCashAmount() {
+ return cashAmount;
+ }
+
+ public void setCashAmount(BigDecimal cashAmount) {
+ this.cashAmount = cashAmount;
+ }
+
+ public BigDecimal getCardAmount() {
+ return cardAmount;
+ }
+
+ public void setCardAmount(BigDecimal cardAmount) {
+ this.cardAmount = cardAmount;
+ }
+
+ public BigDecimal getGoodsAmount() {
+ return goodsAmount;
+ }
+
+ public void setGoodsAmount(BigDecimal goodsAmount) {
+ this.goodsAmount = goodsAmount;
+ }
+
+ public BigDecimal getCardUseAmount() {
+ return cardUseAmount;
+ }
+
+ public void setCardUseAmount(BigDecimal cardUseAmount) {
+ this.cardUseAmount = cardUseAmount;
+ }
+
+ public BigDecimal getHisConsume() {
+ return hisConsume;
+ }
+
+ public void setHisConsume(BigDecimal hisConsume) {
+ this.hisConsume = hisConsume;
+ }
+
+ public BigDecimal getFreeConsume() {
+ return freeConsume;
+ }
+
+ public void setFreeConsume(BigDecimal freeConsume) {
+ this.freeConsume = freeConsume;
+ }
+
+ public BigDecimal getCommission() {
+ return commission;
+ }
+
+ public void setCommission(BigDecimal commission) {
+ this.commission = commission;
+ }
+
+ public BigDecimal getPeopleNum() {
+ return peopleNum;
+ }
+
+ public void setPeopleNum(BigDecimal peopleNum) {
+ this.peopleNum = peopleNum;
+ }
+
+ public Integer getProjNum() {
+ return projNum;
+ }
+
+ public void setProjNum(Integer projNum) {
+ this.projNum = projNum;
+ }
+
+ public Integer getServiceTime() {
+ return serviceTime;
+ }
+
+ public void setServiceTime(Integer serviceTime) {
+ this.serviceTime = serviceTime;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/VipCardListVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/VipCardListVo.java
new file mode 100644
index 0000000..1098de9
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/VipCardListVo.java
@@ -0,0 +1,78 @@
+package com.matrix.system.app.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.matrix.core.tools.DateUtil;
+import com.matrix.system.constance.Dictionary;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author wzy
+ * @date 2020-12-28
+ **/
+@ApiModel(value = "VipCardListVo", description = "会员卡项列表")
+public class VipCardListVo {
+
+ @ApiModelProperty(value = "卡项名称")
+ private String cardName;
+
+ @ApiModelProperty(value = "现有金额")
+ private BigDecimal realMoney;
+
+ @ApiModelProperty(value = "赠送金额")
+ private BigDecimal giftMoney;
+
+ @ApiModelProperty(value = "状态 1-有效 2-无效")
+ private String status;
+
+ @JsonFormat(pattern = DateUtil.DATE_FORMAT_DD, timezone = "GMT+8")
+ @ApiModelProperty(value = "有效时间")
+ private Date failTime;
+
+ public String getCardName() {
+ return cardName;
+ }
+
+ public void setCardName(String cardName) {
+ this.cardName = cardName;
+ }
+
+ public BigDecimal getRealMoney() {
+ return realMoney;
+ }
+
+ public void setRealMoney(BigDecimal realMoney) {
+ this.realMoney = realMoney;
+ }
+
+ public BigDecimal getGiftMoney() {
+ return giftMoney;
+ }
+
+ public void setGiftMoney(BigDecimal giftMoney) {
+ this.giftMoney = giftMoney;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ if (Dictionary.MONEYCARD_STATUS_YX.equals(status)) {
+ this.status = "1";
+ } else {
+ this.status = "2";
+ }
+ }
+
+ public Date getFailTime() {
+ return failTime;
+ }
+
+ public void setFailTime(Date failTime) {
+ this.failTime = failTime;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoListVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoListVo.java
index bd3239d..04cfadd 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoListVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoListVo.java
@@ -1,5 +1,6 @@
package com.matrix.system.app.vo;
+import com.matrix.system.hive.bean.SysVipLevel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -27,6 +28,9 @@
@ApiModelProperty(value = "门店简称")
private String shopName;
+
+ @ApiModelProperty(value = "会员等级对象")
+ private String vipLevel;
public String getVipName() {
return vipName;
@@ -75,4 +79,12 @@
public void setShopName(String shopName) {
this.shopName = shopName;
}
+
+ public String getVipLevel() {
+ return vipLevel;
+ }
+
+ public void setVipLevel(String vipLevel) {
+ this.vipLevel = vipLevel;
+ }
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/ArticleTypeController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/ArticleTypeController.java
index 30443b0..2857afc 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/ArticleTypeController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/ArticleTypeController.java
@@ -1,16 +1,21 @@
package com.matrix.system.hive.action;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.List;
import javax.annotation.Resource;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.pojo.PaginationVO;
+import com.matrix.core.tools.StringUtils;
import com.matrix.core.tools.WebUtil;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.constance.Dictionary;
import com.matrix.system.hive.bean.ArticleType;
+import com.matrix.system.hive.plugin.message.StringUtil;
+import com.matrix.system.hive.plugin.util.CollectionUtils;
import com.matrix.system.hive.service.ArticleTypeService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -110,6 +115,16 @@
articleType.setType(Dictionary.ARTICEL_TYPE_NAME_MDXY);
SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
articleType.setShopId(users.getShopId());
+
+ Long parentId = articleType.getParentId();
+ List<Long> ids = new ArrayList<>();
+ while (parentId != 0) {
+ ArticleType type = currentService.findById(parentId);
+ ids.add(type.getId());
+ parentId = type.getParentId();
+ }
+
+ articleType.setParentIds(CollectionUtils.isNotEmpty(ids) ? StringUtils.collToStr(ids, ",") : null);
if (articleType.getId() != null) {
return modify(currentService, articleType, "文章类型");
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/Article.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/Article.java
index 8619f5f..11d512f 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/Article.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/Article.java
@@ -1,5 +1,8 @@
package com.matrix.system.hive.bean;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.matrix.core.tools.DateUtil;
+
import java.util.Date;
import java.io.Serializable;
/**
@@ -65,6 +68,7 @@
/**
* 创建时间
*/
+ @JsonFormat(pattern = DateUtil.DATE_FORMAT_SS, timezone = "GMT+8")
private Date createtiem;
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/ArticleType.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/ArticleType.java
index 884b2c7..3c9420e 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/ArticleType.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/ArticleType.java
@@ -56,6 +56,8 @@
private String type;
private Long shopId;
+
+ private String parentIds;
/**
* 扩展属性
@@ -159,6 +161,14 @@
this.type=type;
}
+ public String getParentIds() {
+ return parentIds;
+ }
+
+ public void setParentIds(String parentIds) {
+ this.parentIds = parentIds;
+ }
+
@Override
public String toString() {
return "ArticleType [id=" + id + ", articleTypeName=" + articleTypeName
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java
index 663fa32..9c16a42 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java
@@ -161,6 +161,16 @@
*/
private Integer times;
+ private String type;
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
public Integer getTimes() {
return times;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysSkinCheckRecord.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysSkinCheckRecord.java
index 6fac369..62d9262 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysSkinCheckRecord.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysSkinCheckRecord.java
@@ -98,11 +98,22 @@
private String userName;
@Extend
+ private String sex;
+
+ @Extend
private String shopName;
@Extend
private String checkUserName;
+ public String getSex() {
+ return sex;
+ }
+
+ public void setSex(String sex) {
+ this.sex = sex;
+ }
+
public Date getBeginTime() {
return beginTime;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java
index ea162f3..33dfa98 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java
@@ -6,6 +6,7 @@
import com.matrix.core.pojo.PaginationVO;
import com.matrix.system.app.vo.OrderDetailAchieveItemVo;
+import com.matrix.system.app.vo.RankingVo;
import com.matrix.system.app.vo.UserAchieveVo;
import com.matrix.system.hive.bean.AchieveNew;
import org.apache.ibatis.annotations.Param;
@@ -62,4 +63,8 @@
UserAchieveVo selectUserAchieveByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("userId") Long userId);
List<OrderDetailAchieveItemVo> selectApiOrderItemAchieve(@Param("itemId") Long itemId);
+
+ List<RankingVo> selectShopConsumeAchieveRanking(@Param("record") AchieveNew achieveNew);
+
+ List<RankingVo> selectBeauticianConsumeAchieveRanking(@Param("record") AchieveNew achieveNew);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/ArticleDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/ArticleDao.java
index 681ed4e..1cb6338 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/ArticleDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/ArticleDao.java
@@ -31,5 +31,7 @@
public int selectTotalRecord(@Param("record") Article article);
public Article selectById(Long id);
-
+
+ public List<Article> selectApiArticleListInPage(@Param("record") Article article, @Param("pageVo") PaginationVO pageVo);
+
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysBusinessDataDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysBusinessDataDao.java
index d4ba3fe..0aefeb4 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysBusinessDataDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysBusinessDataDao.java
@@ -1,6 +1,7 @@
package com.matrix.system.hive.dao;
import com.matrix.core.pojo.PaginationVO;
+import com.matrix.system.app.vo.BusinessesDataShowVo;
import com.matrix.system.hive.bean.SysBusinessData;
import com.matrix.system.hive.statistics.BusinessDataShowVo;
import org.apache.ibatis.annotations.Param;
@@ -44,5 +45,9 @@
public SysBusinessData selectById(Integer id);
public SysBusinessData selectForUpdate(Integer id);
+
+ List<BusinessesDataShowVo> selectApiBusinessDataInPage(@Param("record") SysBusinessData data,@Param("pageVo") PaginationVO pageVo);
+
+ int selectApiBusinessDataTotal(@Param("record") SysBusinessData data);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
index 8320974..b0c55ff 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
@@ -3,6 +3,7 @@
import com.matrix.core.pojo.PaginationVO;
import com.matrix.system.app.dto.OrderListDto;
import com.matrix.system.app.vo.OrderDetailVo;
+import com.matrix.system.app.vo.RankingVo;
import com.matrix.system.hive.bean.SysOrder;
import org.apache.ibatis.annotations.Param;
@@ -43,4 +44,8 @@
int selectApiOrderListTotal(@Param("record") OrderListDto orderListDto);
OrderDetailVo selectApiOrderDetailById(@Param("orderId") Long orderId);
+
+ List<RankingVo> selectShopAchieveRanking(@Param("record") SysOrder sysOrder);
+
+ List<RankingVo> selectStaffSaleAchieveRanking(@Param("record") SysOrder sysOrder);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/ArticleService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/ArticleService.java
index dceb4ad..af74da5 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/ArticleService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/ArticleService.java
@@ -72,6 +72,7 @@
*/
public Article findById(Long id);
+ public List<Article> findApiArticleListInPage(Article article, PaginationVO pageVo);
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
index a3af416..40a7f9e 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
@@ -4,6 +4,7 @@
import com.matrix.core.pojo.PaginationVO;
import com.matrix.system.app.dto.OrderListDto;
import com.matrix.system.app.vo.OrderDetailVo;
+import com.matrix.system.app.vo.RankingVo;
import com.matrix.system.hive.bean.SysOrder;
import com.matrix.system.hive.plugin.util.BaseServices;
import com.matrix.system.hive.pojo.CzXkVo;
@@ -136,4 +137,8 @@
int findApiOrderListTotal(OrderListDto orderListDto);
OrderDetailVo findApiOrderDetailByOrderId(Long orderId);
+
+ List<RankingVo> findApiShopAchieveRanking(SysOrder sysOrder);
+
+ List<RankingVo> findStaffSaleAchieveRanking(SysOrder sysOrder);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ArticleServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ArticleServiceImpl.java
index 2749a58..f42702b 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ArticleServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ArticleServiceImpl.java
@@ -117,7 +117,8 @@
}
-
-
-
+ @Override
+ public List<Article> findApiArticleListInPage(Article article, PaginationVO pageVo) {
+ return articleDao.selectApiArticleListInPage(article, pageVo);
+ }
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/DataAnalysisCustomerServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/DataAnalysisCustomerServiceImpl.java
new file mode 100644
index 0000000..1b11435
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/DataAnalysisCustomerServiceImpl.java
@@ -0,0 +1,192 @@
+package com.matrix.system.hive.service.imp;
+
+import com.matrix.core.constance.MatrixConstance;
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.tools.WebUtil;
+import com.matrix.system.app.dto.VipStatisticsParamDto;
+import com.matrix.system.common.bean.SysCompany;
+import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.dao.SysCompanyDao;
+import com.matrix.system.common.dao.SysUsersDao;
+import com.matrix.system.common.tools.DataAuthUtil;
+import com.matrix.system.hive.bean.SysShopInfo;
+import com.matrix.system.hive.dao.SysShopInfoDao;
+import com.matrix.system.hiveErp.analysUtil.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+
+/**
+ * @author wzy
+ * @date 2020-12-30
+ **/
+@Service
+public class DataAnalysisCustomerServiceImpl {
+
+ @Autowired
+ private SysShopInfoDao shopInfoDao;
+
+ @Autowired
+ private SysCompanyDao sysCompanyDao;
+
+ @Autowired
+ private SysUsersDao sysUsersDao;
+
+ /**
+ * 按店铺查询数据通用格式执行方法,支持时、日、月、年维度
+ * 如: A店铺 B店铺
+ * 2020-01-01 12 13
+ * 2020-02-02 10 11
+ *
+ * @param statisticsParam 时间条件
+ * @param caculate 循环调用caculate计算该店的数据
+ * 查询的数据需满足 只有一个门店只有一行 列名称为 t0,t1,t2
+ * @return
+ */
+ public AjaxResult getAnalysisResult(StatisticsParamVo statisticsParam, Caculate caculate) {
+ AjaxResult result = new AjaxResult();
+
+ //根据计算横坐标
+ List<Date> xAxis = StatisticsTimeUtil.getTimeSpace(statisticsParam.getBeginTime(), statisticsParam.getEndTime(), statisticsParam.getStatisticsUnit());
+
+ //获取所有门店
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ List<SysShopInfo> shops = null;
+ if (statisticsParam.getShopId() != null) {
+ shops = Arrays.asList(shopInfoDao.selectById(user.getShopId()));
+ } else {
+ if (DataAuthUtil.hasAllShopAuth()) {
+ shops = shopInfoDao.selectShopInfo(user.getCompanyId());
+ } else {
+ shops = Arrays.asList(shopInfoDao.selectById(user.getShopId()));
+ }
+ }
+ //定义数据项内容
+ List<SeriesVo> series = new ArrayList<>();
+
+ //定义数据主体
+ String[] legendData = new String[shops.size()];
+
+ int i = 0;
+
+ //按门店统计数据
+ List<StatisticsTimeDaoParam> timeSpaceParam = StatisticsTimeUtil.buidParam(xAxis);
+ for (SysShopInfo shop : shops) {
+
+ legendData[i++] = shop.getShopName();
+ //数据项内容
+ SeriesVo storeInfoSeries = new SeriesVo();
+ storeInfoSeries.setName(shop.getShopName());
+ //调用计算器获取数据库统计的结果
+ Map<String, Integer> yAxisMap = caculate.exec(timeSpaceParam, shop.getId(), null);
+ //把统计结果转成数组格式
+ storeInfoSeries.setData(StatisticsTimeUtil.getSeries(yAxisMap));
+ series.add(storeInfoSeries);
+
+ }
+ //构造返回对象
+ Map<Object, Object> data = new HashMap<>();
+ data.put("legendData", legendData);
+ data.put("series", series);
+ String[] xData = StatisticsTimeUtil.getFormartDateList(xAxis, statisticsParam);
+ data.put("xAxis", Arrays.copyOf(xData, xData.length - 1));
+ result.setMapInfo(data);
+ result.setStatus(AjaxResult.STATUS_SUCCESS);
+ return result;
+ }
+
+ public AjaxResult getCompanyAnalysisResult(StatisticsParamVo statisticsParam, Caculate caculate) {
+ AjaxResult result = new AjaxResult();
+
+ //根据计算横坐标
+ List<Date> xAxis = StatisticsTimeUtil.getTimeSpace(statisticsParam.getBeginTime(), statisticsParam.getEndTime(), statisticsParam.getStatisticsUnit());
+
+ //获取所有门店
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+
+ SysCompany company = sysCompanyDao.selectById(user.getCompanyId());
+
+ //定义数据项内容
+ List<SeriesVo> series = new ArrayList<>();
+
+ //定义数据主体
+ String[] legendData = new String[1];
+
+ int i = 0;
+
+ //按门店统计数据
+ List<StatisticsTimeDaoParam> timeSpaceParam = StatisticsTimeUtil.buidParam(xAxis);
+
+ legendData[0] = company.getComName();
+ //数据项内容
+ SeriesVo storeInfoSeries = new SeriesVo();
+ storeInfoSeries.setName(company.getComName());
+ //调用计算器获取数据库统计的结果
+ Map<String, Integer> yAxisMap = caculate.exec(timeSpaceParam, null, company.getComId());
+ //把统计结果转成数组格式
+ storeInfoSeries.setData(StatisticsTimeUtil.getSeries(yAxisMap));
+ series.add(storeInfoSeries);
+
+ //构造返回对象
+ Map<Object, Object> data = new HashMap<>();
+ data.put("legendData", legendData);
+ data.put("series", series);
+ String[] xData = StatisticsTimeUtil.getFormartDateList(xAxis, statisticsParam);
+ data.put("xAxis", Arrays.copyOf(xData, xData.length - 1));
+ result.setMapInfo(data);
+ result.setStatus(AjaxResult.STATUS_SUCCESS);
+ return result;
+ }
+
+ public AjaxResult getStaffAnalysisResult(VipStatisticsParamDto statisticsParam, Caculate caculate) {
+ AjaxResult result = new AjaxResult();
+
+ //根据计算横坐标
+ List<Date> xAxis = StatisticsTimeUtil.getTimeSpace(statisticsParam.getBeginTime(), statisticsParam.getEndTime(), statisticsParam.getStatisticsUnit());
+
+ //获取所有门店
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+
+ Long staffId = null;
+ if (statisticsParam.getStaffId() == null) {
+ staffId = user.getSuId();
+ } else {
+ staffId = statisticsParam.getStaffId();
+ }
+ SysUsers sysUsers = sysUsersDao.selectById(staffId);
+
+ //定义数据项内容
+ List<SeriesVo> series = new ArrayList<>();
+
+ //定义数据主体
+ String[] legendData = new String[1];
+
+ int i = 0;
+
+ //按门店统计数据
+ List<StatisticsTimeDaoParam> timeSpaceParam = StatisticsTimeUtil.buidParam(xAxis);
+
+ legendData[0] = sysUsers.getSuName();
+ //数据项内容
+ SeriesVo storeInfoSeries = new SeriesVo();
+ storeInfoSeries.setName(sysUsers.getSuName());
+ //调用计算器获取数据库统计的结果
+ Map<String, Integer> yAxisMap = caculate.exec(timeSpaceParam, null, sysUsers.getSuId());
+ //把统计结果转成数组格式
+ storeInfoSeries.setData(StatisticsTimeUtil.getSeries(yAxisMap));
+ series.add(storeInfoSeries);
+
+ //构造返回对象
+ Map<Object, Object> data = new HashMap<>();
+ data.put("legendData", legendData);
+ data.put("series", series);
+ StatisticsParamVo statisticsParam1 = new StatisticsParamVo();
+ statisticsParam1.setStatisticsUnit(statisticsParam.getStatisticsUnit());
+ String[] xData = StatisticsTimeUtil.getFormartDateList(xAxis, statisticsParam1);
+ data.put("xAxis", Arrays.copyOf(xData, xData.length - 1));
+ result.setMapInfo(data);
+ result.setStatus(AjaxResult.STATUS_SUCCESS);
+ return result;
+ }
+}
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 250b154..b64d15a 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
@@ -10,6 +10,7 @@
import com.matrix.system.app.vo.OrderDetailAchieveItemVo;
import com.matrix.system.app.vo.OrderDetailItemVo;
import com.matrix.system.app.vo.OrderDetailVo;
+import com.matrix.system.app.vo.RankingVo;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.dao.BusParameterSettingsDao;
import com.matrix.system.common.dao.SysUsersDao;
@@ -1250,4 +1251,14 @@
orderDetail.setItems(items);
return orderDetail;
}
+
+ @Override
+ public List<RankingVo> findApiShopAchieveRanking(SysOrder sysOrder) {
+ return sysOrderDao.selectShopAchieveRanking(sysOrder);
+ }
+
+ @Override
+ public List<RankingVo> findStaffSaleAchieveRanking(SysOrder sysOrder) {
+ return sysOrderDao.selectStaffSaleAchieveRanking(sysOrder);
+ }
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java b/zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java
index 69a4dc0..8c1a271 100644
--- a/zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java
+++ b/zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java
@@ -7,6 +7,7 @@
import com.matrix.system.common.tools.DataAuthUtil;
import com.matrix.system.hive.bean.SysShopInfo;
import com.matrix.system.hive.dao.SysShopInfoDao;
+import com.matrix.system.hive.service.imp.DataAnalysisCustomerServiceImpl;
import com.matrix.system.hiveErp.analysUtil.*;
import com.matrix.system.hiveErp.dao.TjVipSumDao;
import org.jetbrains.annotations.NotNull;
@@ -31,6 +32,8 @@
@Autowired
SysShopInfoDao shopInfoDao;
+ @Autowired
+ DataAnalysisCustomerServiceImpl dataAnalysisCustomerService;
/**
@@ -43,9 +46,9 @@
*/
@RequestMapping(value = "/customerHeadCompare")
public @ResponseBody AjaxResult customerHeadCompare(StatisticsParamVo statisticsParam) {
- return getAnalysisResult(statisticsParam, new Caculate() {
+ return dataAnalysisCustomerService.getAnalysisResult(statisticsParam, new Caculate<Integer>() {
@Override
- public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId) {
+ public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId, Long companyId) {
//从员工业绩统计表中,按时间段,门店的维度统计人头数
return tjVipSumDao.customerHeadCompare(timeSpaceParam,shopId);
}
@@ -61,9 +64,9 @@
*/
@RequestMapping(value = "/customerEnterCountCompare")
public @ResponseBody AjaxResult customerEnterCountCompare(StatisticsParamVo statisticsParam) {
- return getAnalysisResult(statisticsParam, new Caculate() {
+ return dataAnalysisCustomerService.getAnalysisResult(statisticsParam, new Caculate<Integer>() {
@Override
- public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId) {
+ public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId, Long companyId) {
//从员工业绩统计表中,按时间段,门店的维度统计人次
return tjVipSumDao.customerEnterCountCompare(timeSpaceParam,shopId);
}
@@ -80,9 +83,9 @@
*/
@RequestMapping(value = "/customerEnterRateCompare")
public @ResponseBody AjaxResult customerEnterRateCompare(StatisticsParamVo statisticsParam) {
- return getAnalysisResult(statisticsParam, new Caculate() {
+ return dataAnalysisCustomerService.getAnalysisResult(statisticsParam, new Caculate<Integer>() {
@Override
- public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId) {
+ public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId, Long companyId) {
//从员工业绩统计表中,按时间段,门店的维度统计人次
return tjVipSumDao.customerEnterRateCompare(timeSpaceParam,shopId);
}
@@ -93,64 +96,6 @@
-
-
- /**
- * 按店铺查询数据通用格式执行方法,支持时、日、月、年维度
- * 如: A店铺 B店铺
- * 2020-01-01 12 13
- * 2020-02-02 10 11
- * @param statisticsParam 时间条件
- * @param caculate 循环调用caculate计算该店的数据
- * 查询的数据需满足 只有一个门店只有一行 列名称为 t0,t1,t2
- * @return
- */
- private AjaxResult getAnalysisResult(StatisticsParamVo statisticsParam, Caculate caculate) {
- AjaxResult result = new AjaxResult();
-
- //根据计算横坐标
- List<Date> xAxis = StatisticsTimeUtil.getTimeSpace(statisticsParam.getBeginTime(), statisticsParam.getEndTime(), statisticsParam.getStatisticsUnit());
-
- //获取所有门店
- SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
- List<SysShopInfo> shops=null;
- if(DataAuthUtil.hasAllShopAuth()){
- shops= shopInfoDao.selectShopInfo(user.getCompanyId());
- }else{
- shops=Arrays.asList(shopInfoDao.selectById(user.getShopId()));
- }
- //定义数据项内容
- List<SeriesVo> series=new ArrayList<>();
-
- //定义数据主体
- String[] legendData=new String[shops.size()];
-
- int i=0;
-
- //按门店统计数据
- List<StatisticsTimeDaoParam> timeSpaceParam = StatisticsTimeUtil.buidParam(xAxis);
- for(SysShopInfo shop: shops){
-
- legendData[i++]=shop.getShopName();
- //数据项内容
- SeriesVo storeInfoSeries=new SeriesVo();
- storeInfoSeries.setName(shop.getShopName());
- //调用计算器获取数据库统计的结果
- Map<String, Integer> yAxisMap = caculate.exec(timeSpaceParam,shop.getId());
- //把统计结果转成数组格式
- storeInfoSeries.setData(StatisticsTimeUtil.getSeries(yAxisMap));
- series.add(storeInfoSeries);
-
- }
- //构造返回对象
- Map<Object,Object> data=new HashMap<>();
- data.put("legendData",legendData);
- data.put("series",series);
- data.put("xAxis", StatisticsTimeUtil.getFormartDateList(xAxis,statisticsParam));
- result.setMapInfo(data);
- result.setStatus(AjaxResult.STATUS_SUCCESS);
- return result;
- }
diff --git a/zq-erp/src/main/java/com/matrix/system/hiveErp/analysUtil/Caculate.java b/zq-erp/src/main/java/com/matrix/system/hiveErp/analysUtil/Caculate.java
index 27e6cdf..193b9d0 100644
--- a/zq-erp/src/main/java/com/matrix/system/hiveErp/analysUtil/Caculate.java
+++ b/zq-erp/src/main/java/com/matrix/system/hiveErp/analysUtil/Caculate.java
@@ -5,6 +5,6 @@
/**
* 明细数值计算器
*/
-public interface Caculate {
- public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam , Long shopId);
+public interface Caculate<T> {
+ public Map<String, T> exec(List<StatisticsTimeDaoParam> timeSpaceParam , Long shopId, Long companyId);
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hiveErp/analysUtil/StatisticsParamVo.java b/zq-erp/src/main/java/com/matrix/system/hiveErp/analysUtil/StatisticsParamVo.java
index dba0746..8bd9e7a 100644
--- a/zq-erp/src/main/java/com/matrix/system/hiveErp/analysUtil/StatisticsParamVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/hiveErp/analysUtil/StatisticsParamVo.java
@@ -1,33 +1,62 @@
package com.matrix.system.hiveErp.analysUtil;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotBlank;
+
/**
* 统计查询条件
* @author jyy
*/
+@ApiModel(value = "StatisticsParamVo", description = "专项统计接收参数类")
public class StatisticsParamVo {
+
+ public static final String COMPANY = "1";
+
+ public static final String SHOP = "2";
/**
* 开始时间
*/
+ @NotBlank(message = "参数错误")
+ @ApiModelProperty(value = "开始时间", example = "2020-12-01")
private String beginTime;
/**
*结束时间
*/
+ @NotBlank(message = "参数错误")
+ @ApiModelProperty(value = "结束时间", example = "2020-12-31")
private String endTime;
/**
*统计单位
*/
+ @NotBlank(message = "参数错误")
+ @ApiModelProperty(value = "统计单位", example = "日")
private String statisticsUnit;
/**
*对比单位
*/
+ @ApiModelProperty(hidden = true)
private String contrastUnit;
/**
* 门店id
*/
- private String shopId;
+ @ApiModelProperty(value = "门店ID, 不传默认统计整个公司")
+ private Long shopId;
+
+ @ApiModelProperty(value = "类型 1-营业收入 2-现金收入 3-余额划扣 4-本金消耗 5-赠送消耗 6-现金退款 7-卡项退款 8-欠款", example = "1")
+ private String type;
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
public String getBeginTime() {
return beginTime;
@@ -61,11 +90,11 @@
this.contrastUnit = contrastUnit;
}
- public String getShopId() {
+ public Long getShopId() {
return shopId;
}
- public void setShopId(String shopId) {
+ public void setShopId(Long shopId) {
this.shopId = shopId;
}
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hiveErp/dao/TjVipSumDao.java b/zq-erp/src/main/java/com/matrix/system/hiveErp/dao/TjVipSumDao.java
index 3e27576..21c325f 100644
--- a/zq-erp/src/main/java/com/matrix/system/hiveErp/dao/TjVipSumDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hiveErp/dao/TjVipSumDao.java
@@ -1,9 +1,13 @@
package com.matrix.system.hiveErp.dao;
+import com.matrix.core.pojo.PaginationVO;
+import com.matrix.system.app.vo.VipAchieveDataShowVo;
+import com.matrix.system.hive.bean.AchieveNew;
import com.matrix.system.hiveErp.analysUtil.StatisticsTimeDaoParam;
import org.apache.ibatis.annotations.Param;
+import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
@@ -16,4 +20,32 @@
Map<String, Integer> customerEnterCountCompare(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("shopId") Long shopId);
Map<String, Integer> customerEnterRateCompare(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("shopId") Long shopId);
+
+ Map<String, BigDecimal> selectBusinessInCome(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("shopId") Long shopId, @Param("companyId") Long companyId);
+
+ Map<String, BigDecimal> selectCashIncome(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("shopId") Long shopId, @Param("companyId") Long companyId);
+
+ Map<String, BigDecimal> selectCardUse(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("shopId") Long shopId, @Param("companyId") Long companyId);
+
+ Map<String, BigDecimal> selectArrears(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("shopId") Long shopId, @Param("companyId") Long companyId);
+
+ Map<String, BigDecimal> selectHisConsume(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("shopId") Long shopId, @Param("companyId") Long companyId);
+
+ Map<String, BigDecimal> selectFreeConsume(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("shopId") Long shopId, @Param("companyId") Long companyId);
+ Map<String, BigDecimal> selectCardRefund(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("shopId") Long shopId, @Param("companyId") Long companyId);
+ Map<String, BigDecimal> selectCashRefund(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("shopId") Long shopId, @Param("companyId") Long companyId);
+
+ List<VipAchieveDataShowVo> selectVipAchieveInPage(@Param("record") AchieveNew achieveNew, @Param("pageVo") PaginationVO pageVo);
+
+ Map<String, BigDecimal> selectStaffOrderAchieve(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("staffId") Long staffId);
+ Map<String, BigDecimal> selectStaffCashAchieve(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("staffId") Long staffId);
+ Map<String, BigDecimal> selectStaffCardAchieve(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("staffId") Long staffId);
+ Map<String, BigDecimal> selectStaffGoodsAchieve(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("staffId") Long staffId);
+ Map<String, BigDecimal> selectStaffCardUseAchieve(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("staffId") Long staffId);
+ Map<String, BigDecimal> selectStaffHisConsumeAchieve(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("staffId") Long staffId);
+ Map<String, BigDecimal> selectStaffFreeConsumeAchieve(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("staffId") Long staffId);
+ Map<String, BigDecimal> selectStaffCommissionAchieve(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("staffId") Long staffId);
+ Map<String, BigDecimal> selectStaffPeopleNum(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("staffId") Long staffId);
+ Map<String, BigDecimal> selectStaffProjNum(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("staffId") Long staffId);
+ Map<String, BigDecimal> selectStaffProjTime(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("staffId") Long staffId);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopProductDao.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopProductDao.java
index 176f9c0..653bfde 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopProductDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopProductDao.java
@@ -53,6 +53,8 @@
*/
List<ShopProduct> selectByIds(@Param("ids") List<Integer> ids);
+ List<String> selectProductNameByIds(@Param("ids") List<Integer> ids);
+
List<ShopProduct> selectProductByAttrid(@Param("attrId") String attrId,@Param("shopId") Long shopId);
diff --git a/zq-erp/src/main/resources/config/system.properties b/zq-erp/src/main/resources/config/system.properties
index e008d06..9bf9768 100644
--- a/zq-erp/src/main/resources/config/system.properties
+++ b/zq-erp/src/main/resources/config/system.properties
@@ -92,7 +92,7 @@
#是否启用异常上报
-is_open_exception_report=true
+is_open_exception_report=false
showExcptionUrl=http://erp.hive.jyymatrix.cc/showException
diff --git a/zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml b/zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml
index 321834c..9534312 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml
@@ -960,7 +960,7 @@
</if>
<if
test="(record.suName!=null and record.suName!='') or (record.suName!='' and record.suName==0)">
- and su_name like concat('%',#{record.suName},'%')
+ and (su_name like concat('%',concat(#{record.suName},'%')) or su_tel = #{record.suName})
</if>
<if
test="(record.suTel!=null and record.suTel!='') or (record.suTel!='' and record.suTel==0)">
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
index 1994fd2..5449871 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
@@ -958,4 +958,60 @@
inner join sys_users b on (a.beault_id=b.su_id or a.sale_id = b.su_id)
where a.order_item_id=#{itemId} and order_type = '订单'
</select>
+
+ <select id="selectShopConsumeAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo">
+ select
+ b.shop_short_name name,
+ b.SHOP_IMAG photo,
+ sum(IFNULL(a.free_consume,0) + IFNULL(a.consume,0) + IFNULL(a.his_consume,0)) amount
+ from achieve_new a
+ left join sys_shop_info b on a.shop_id=b.ID
+ <where>
+ <if test="record.companyId != null">
+ and a.company_id=#{record.companyId}
+ </if>
+ <if test='record.t1 == "1" and record.datatime != null'>
+ and date_format(datatime, '%Y-%m-%d') = date_format(#{record.datatime}, '%Y-%m-%d')
+ </if>
+ <if test='record.t1 == "2" and record.datatime != null'>
+ and date_format(datatime, '%Y-%m') = date_format(#{record.datatime}, '%Y-%m')
+ </if>
+ <if test='record.t1 == "3" and record.datatime != null'>
+ and date_format(datatime, '%Y') = date_format(#{record.datatime}, '%Y')
+ </if>
+ </where>
+ group by a.shop_id
+ order by amount desc, a.shop_id
+ </select>
+
+ <select id="selectBeauticianConsumeAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo">
+ select
+ b.su_name name,
+ b.su_id id,
+ sum(IFNULL(a.free_consume,0) + IFNULL(a.his_consume, 0) + IFNULL(a.consume, 0)) amount,
+ c.shop_short_name shopName
+ from achieve_new a
+ inner join sys_users b on a.beault_id=b.su_id
+ left join sys_shop_info c on a.shop_id=c.ID
+ <where>
+ a.order_type='服务单'
+ <if test="record.companyId != null">
+ and a.company_id=#{record.companyId}
+ </if>
+ <if test="record.shopId != null">
+ and a.shop_id=#{record.shopId}
+ </if>
+ <if test='record.t1 == "1" and record.datatime != null'>
+ and date_format(datatime, '%Y-%m-%d') = date_format(#{record.datatime}, '%Y-%m-%d')
+ </if>
+ <if test='record.t1 == "2" and record.datatime != null'>
+ and date_format(datatime, '%Y-%m') = date_format(#{record.datatime}, '%Y-%m')
+ </if>
+ <if test='record.t1 == "3" and record.datatime != null'>
+ and date_format(datatime, '%Y') = date_format(#{record.datatime}, '%Y')
+ </if>
+ </where>
+ group by a.beault_id
+ order by amount desc
+ </select>
</mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/ArticleDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/ArticleDao.xml
index 40be119..d7b9b0c 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/ArticleDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/ArticleDao.xml
@@ -437,4 +437,17 @@
</if>
order by type_id,sort,createtiem desc
</select>
+
+ <select id="selectApiArticleListInPage" resultMap="ArticleMap">
+ select * from article a
+ inner join article_type b on a.type_id=b.id and find_in_set(#{record.typeId}, b.parent_ids)
+ order by a.createtiem desc
+ <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
+ <if test="pageVo.offset >=0 and pageVo.limit >0">
+ limit
+ #{pageVo.offset},#{pageVo.limit}
+ </if>
+ </if>
+ </select>
+
</mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/ArticleTypeDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/ArticleTypeDao.xml
index c45c853..65db100 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/ArticleTypeDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/ArticleTypeDao.xml
@@ -12,7 +12,8 @@
<result property="description" column="description" />
<result property="url" column="url" />
<result property="icon" column="icon" />
- <result property="type" column="type" />
+ <result property="type" column="type" />
+ <result property="parentIds" column="parent_ids" />
<result property="shopId" column="shop_id"/>
<!--扩展属性 -->
<!-- <association property="article" javaType="Article"
@@ -30,7 +31,8 @@
url,
icon,
type,
- shop_id
+ shop_id,
+ parent_ids
)
VALUES (
#{id},
@@ -41,7 +43,8 @@
#{url},
#{icon},
#{type},
- #{shopId}
+ #{shopId},
+ #{parentIds}
)
</insert>
@@ -70,7 +73,10 @@
</if>
<if test="type != null and type !='' ">
type = #{type},
- </if>
+ </if>
+ <if test="parentIds != null and parentIds !='' ">
+ parent_ids = #{parentIds},
+ </if>
</set>
WHERE id=#{id}
</update>
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
index d048579..74da875 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
@@ -533,6 +533,89 @@
) t
</select>
+ <select id="selectApiBusinessDataInPage" resultType="com.matrix.system.app.vo.BusinessesDataShowVo">
+ select
+ date_format(a.time, #{record.t1}) dataTime,
+ sum(cashPay + cardPay + arrearsPay) totalPay,
+ sum(cashPay) cashPay,
+ sum(cardPay) cardPay,
+ sum(arrearsPay) arrearsPay,
+ sum(freeConsumePay) freeConsumePay,
+ sum(consumePay) consumePay,
+ sum(refundCardPay) refundCardPay,
+ sum(refundCashPay) refundCashPay
+ from (
+ select
+ company_id,
+ shop_id,
+ a.time,
+ MAX(CASE code WHEN 'cashPay' THEN value ELSE 0 END) cashPay,
+ MAX(CASE code WHEN 'cardPay' THEN value ELSE 0 END) cardPay,
+ MAX(CASE code WHEN 'arrearsPay' THEN value ELSE 0 END) arrearsPay,
+ MAX(CASE code WHEN 'freeConsumePay' THEN value ELSE 0 END) freeConsumePay,
+ MAX(CASE code WHEN 'consumePay' THEN value ELSE 0 END) consumePay,
+ MAX(CASE code WHEN 'refundCashPay' THEN ABS(value) ELSE 0 END) refundCashPay,
+ MAX(CASE code WHEN 'refundCardPay' THEN ABS(value) ELSE 0 END) refundCardPay
+ from sys_business_data a
+ group by a.time, company_id, shop_id
+ ) a
+ <where>
+ <if test="record.companyId != null">
+ and a.company_id=#{record.companyId}
+ </if>
+ <if test="record.shopId != null">
+ and a.shop_id=#{record.shopId}
+ </if>
+ </where>
+ group by date_format(a.time, #{record.t1})
+ order by a.time desc
+ <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
+ <if test="pageVo.offset >=0 and pageVo.limit >0">
+ limit
+ #{pageVo.offset},#{pageVo.limit}
+ </if>
+ </if>
+ </select>
-
+ <select id="selectApiBusinessDataTotal" resultType="java.lang.Integer">
+ select
+ count(1)
+ from (
+ select
+ date_format(a.time, #{record.t1}) dataTime,
+ sum(cashPay + cardPay + arrearsPay) totalPay,
+ sum(cashPay) cashPay,
+ sum(cardPay) cardPay,
+ sum(arrearsPay) arrearsPay,
+ sum(freeConsumePay) freeConsumePay,
+ sum(consumePay) consumePay,
+ sum(refundCardPay) refundCardPay,
+ sum(refundCashPay) refundCashPay
+ from (
+ select
+ company_id,
+ shop_id,
+ a.time,
+ MAX(CASE code WHEN 'cashPay' THEN value ELSE 0 END) cashPay,
+ MAX(CASE code WHEN 'cardPay' THEN value ELSE 0 END) cardPay,
+ MAX(CASE code WHEN 'arrearsPay' THEN value ELSE 0 END) arrearsPay,
+ MAX(CASE code WHEN 'freeConsumePay' THEN value ELSE 0 END) freeConsumePay,
+ MAX(CASE code WHEN 'consumePay' THEN value ELSE 0 END) consumePay,
+ MAX(CASE code WHEN 'refundCashPay' THEN ABS(value) ELSE 0 END) refundCashPay,
+ MAX(CASE code WHEN 'refundCardPay' THEN ABS(value) ELSE 0 END) refundCardPay
+ from sys_business_data a
+ group by a.time, company_id, shop_id
+ ) a
+ <where>
+ <if test="record.companyId != null">
+ and a.company_id=#{record.companyId}
+ </if>
+ <if test="record.shopId != null">
+ and a.shop_id=#{record.shopId}
+ </if>
+ </where>
+ group by date_format(a.time, #{record.t1})
+ order by a.time desc
+ ) a
+ </select>
</mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
index d86c4f7..3e09a48 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
@@ -550,4 +550,62 @@
left join sys_users c on a.STAFF_ID=c.su_id
where a.id=#{orderId}
</select>
+
+ <select id="selectShopAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo">
+ select
+ b.shop_short_name name,
+ b.SHOP_IMAG photo,
+ sum(IFNULL(a.ZK_TOTAL,0)) amount
+ from sys_order a
+ left join sys_shop_info b on a.SHOP_ID=b.ID
+ <where>
+ a.statu in ('已付款', '欠款')
+ <if test="record.companyId != null">
+ and a.company_id=#{record.companyId}
+ </if>
+ <if test='record.type == "1" and record.orderTime != null'>
+ and date_format(order_time, '%Y-%m-%d') = date_format(#{record.orderTime}, '%Y-%m-%d')
+ </if>
+ <if test='record.type == "2" and record.orderTime != null'>
+ and date_format(order_time, '%Y-%m') = date_format(#{record.orderTime}, '%Y-%m')
+ </if>
+ <if test='record.type == "3" and record.orderTime != null'>
+ and date_format(order_time, '%Y') = date_format(#{record.orderTime}, '%Y')
+ </if>
+ </where>
+ group by a.SHOP_ID
+ order by amount desc, a.shop_id
+ </select>
+
+ <select id="selectStaffSaleAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo">
+ select
+ b.su_name name,
+ b.su_id id,
+ b.su_photo photo,
+ sum(ZK_TOTAL) amount,
+ c.shop_short_name shopName
+ from sys_order a
+ left join sys_users b on a.STAFF_ID=b.su_id
+ left join sys_shop_info c on a.SHOP_ID=c.ID
+ <where>
+ a.statu in ('已付款', '欠款') and b.su_id is not null
+ <if test="record.companyId != null">
+ and a.company_id=#{record.companyId}
+ </if>
+ <if test="record.shopId != null">
+ and a.shop_id=#{record.shopId}
+ </if>
+ <if test='record.type == "1" and record.orderTime != null'>
+ and date_format(order_time, '%Y-%m-%d') = date_format(#{record.orderTime}, '%Y-%m-%d')
+ </if>
+ <if test='record.type == "2" and record.orderTime != null'>
+ and date_format(order_time, '%Y-%m') = date_format(#{record.orderTime}, '%Y-%m')
+ </if>
+ <if test='record.type == "3" and record.orderTime != null'>
+ and date_format(order_time, '%Y') = date_format(#{record.orderTime}, '%Y')
+ </if>
+ </where>
+ group by b.su_id
+ order by amount desc, b.su_id
+ </select>
</mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysSkinCheckRecordDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysSkinCheckRecordDao.xml
index 73519e7..cf75379 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysSkinCheckRecordDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysSkinCheckRecordDao.xml
@@ -18,11 +18,13 @@
<result property="shopName" column="shopName" />
<result property="telphone" column="telphone" />
<result property="checkUserName" column="checkUserName" />
+ <result property="userName" column="userName" />
<result property="ext1" column="ext1" />
<result property="ext2" column="ext2" />
<result property="ext3" column="ext3" />
<result property="ext4" column="ext4" />
- <result property="ext5" column="ext5" />
+ <result property="ext5" column="ext5" />
+ <result property="sex" column="sex" />
<collection property="skinDetails" ofType="com.matrix.system.hive.bean.SysSkinDetail" column="id">
<id property="id" column="detailId" />
<result property="checkId" column="check_id" />
@@ -356,10 +358,13 @@
t3.symptom analysisSymptom,
t3.percentage analysisPercentage,
t3.analysis analysisAnalysis,
- t3.img analysisImg
+ t3.img analysisImg,
+ t4.vip_name userName,
+ t4.sex sex
from sys_skin_check_record t1
left join sys_skin_detail t2 on t1.id=t2.check_id and t2.t1=1
left join sys_skin_detail t3 on t1.id=t3.check_id and t3.t1=2
+ left join sys_vip_info t4 on t1.user_id=t4.id
where t1.id=#{id}
</select>
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
index 4e58387..417b21f 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
@@ -108,6 +108,10 @@
<!-- 扩展属性 -->
<result property="staffName" column="STAFF_NAME"/>
<result property="shopName" column="SHOP_NAME"/>
+ <association property="vipLevel" javaType="com.matrix.system.hive.bean.SysVipLevel" >
+ <result property="levelName" column="levelName"/>
+ <result property="vipLevel" column="vipLevel"/>
+ </association>
</resultMap>
<!-- 查询几天内过生日的会员 -->
@@ -965,12 +969,15 @@
a.province,
a.city,
a.area,
- a.recommend_id
+ a.recommend_id,
+ e.level_name levelName,
+ e.vip_level vipLevel
</sql>
<sql id="from">
from sys_vip_info a
left join sys_users c on c.su_id =a.STAFF_ID
left join sys_shop_info d ON d.ID=a.SHOP_ID
+ left join sys_vip_level e on a.level_id=e.id
</sql>
@@ -1255,7 +1262,8 @@
a.PHONE phone,
a.photo photo,
b.arriveCnt arriveCnt,
- g.shop_short_name shopName
+ g.shop_short_name shopName,
+ z.level_name vipLevel
from sys_vip_info a
left join (
select x.vip_id, count(1) arriveCnt from (
@@ -1273,6 +1281,7 @@
group by date_format(datatime, '%Y-%m-%d'), vip_id
) x group by x.vip_id
) b on a.ID=b.vip_id
+ left join sys_vip_level z on a.level_id=z.id
<!-- 本月消费 -->
<if test="record.sort == 'used'">
left join (
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml
index 55ed022..43e968b 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml
@@ -68,5 +68,398 @@
</select>
+ <select id="selectBusinessInCome" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select IFNULL(sum(ZK_TOTAL), 0)
+ from sys_order
+ where STATU in ('已付款', '欠款')
+ and <![CDATA[order_time > #{item.beginTime} and order_time < #{item.endTime} ]]>
+ <if test="companyId != null and companyId != 0">
+ and company_id=#{companyId}
+ </if>
+ <if test="shopId !=null and shopId !=0 " >
+ and SHOP_ID = #{shopId}
+ </if>
+ ) as t${index}
+
+ </foreach>
+ from area where id=1
+ </select>
+
+ <select id="selectCashIncome" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select IFNULL(sum(cash_Pay), 0)
+ from sys_order
+ where STATU in ('已付款')
+ and <![CDATA[order_time > #{item.beginTime} and order_time < #{item.endTime} ]]>
+ <if test="companyId != null and companyId != 0">
+ and company_id=#{companyId}
+ </if>
+ <if test="shopId !=null and shopId !=0 " >
+ and SHOP_ID = #{shopId}
+ </if>
+ ) as t${index}
+
+ </foreach>
+ from area where id=1
+ </select>
+
+ <select id="selectCardUse" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select IFNULL(sum(card_Pay), 0)
+ from sys_order
+ where STATU in ('已付款')
+ and <![CDATA[order_time > #{item.beginTime} and order_time < #{item.endTime} ]]>
+ <if test="companyId != null and companyId != 0">
+ and company_id=#{companyId}
+ </if>
+ <if test="shopId !=null and shopId !=0 " >
+ and SHOP_ID = #{shopId}
+ </if>
+ ) as t${index}
+
+ </foreach>
+ from area where id=1
+ </select>
+
+ <select id="selectArrears" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select IFNULL(sum(arrears), 0)
+ from sys_order
+ where STATU in ('欠款')
+ and <![CDATA[order_time > #{item.beginTime} and order_time < #{item.endTime} ]]>
+ <if test="companyId != null and companyId != 0">
+ and company_id=#{companyId}
+ </if>
+ <if test="shopId !=null and shopId !=0 " >
+ and SHOP_ID = #{shopId}
+ </if>
+ ) as t${index}
+
+ </foreach>
+ from area where id=1
+ </select>
+
+ <select id="selectHisConsume" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select IFNULL(sum(his_consume), 0)
+ from achieve_new
+ where order_type in ('服务单')
+ and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>
+ <if test="companyId != null and companyId != 0">
+ and company_id=#{companyId}
+ </if>
+ <if test="shopId !=null and shopId !=0 " >
+ and SHOP_ID = #{shopId}
+ </if>
+ ) as t${index}
+
+ </foreach>
+ from area where id=1
+ </select>
+
+ <select id="selectFreeConsume" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select IFNULL(sum(free_consume), 0)
+ from achieve_new
+ where order_type in ('服务单')
+ and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>
+ <if test="companyId != null and companyId != 0">
+ and company_id=#{companyId}
+ </if>
+ <if test="shopId !=null and shopId !=0 " >
+ and SHOP_ID = #{shopId}
+ </if>
+ ) as t${index}
+ </foreach>
+ from area where id=1
+ </select>
+
+ <select id="selectCashRefund" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select IFNULL(sum(cash_Pay), 0)
+ from sys_order
+ where STATU in ('退款')
+ and <![CDATA[order_time > #{item.beginTime} and order_time < #{item.endTime} ]]>
+ <if test="companyId != null and companyId != 0">
+ and company_id=#{companyId}
+ </if>
+ <if test="shopId !=null and shopId !=0 " >
+ and SHOP_ID = #{shopId}
+ </if>
+ ) as t${index}
+
+ </foreach>
+ from area where id=1
+ </select>
+
+
+ <select id="selectCardRefund" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select IFNULL(sum(card_Pay), 0)
+ from sys_order
+ where STATU in ('退款')
+ and <![CDATA[order_time > #{item.beginTime} and order_time < #{item.endTime} ]]>
+ <if test="companyId != null and companyId != 0">
+ and company_id=#{companyId}
+ </if>
+ <if test="shopId !=null and shopId !=0 " >
+ and SHOP_ID = #{shopId}
+ </if>
+ ) as t${index}
+
+ </foreach>
+ from area where id=1
+ </select>
+
+ <select id="selectVipAchieveInPage" resultType="com.matrix.system.app.vo.VipAchieveDataShowVo">
+ select
+ date_format(a.datatime, #{record.t1}) time,
+ ROUND(sum(IFNULL(zk_total, 0)), 2) orderAmount,
+ ROUND(sum(IFNULL(proj_cash, 0)), 2) cashAmount,
+ ROUND(sum(IFNULL(card_cash, 0)), 2) cardAmount,
+ ROUND(sum(IFNULL(goods_cash, 0)), 2) goodsAmount,
+ ROUND(sum(IFNULL(consume, 0)), 2) cardUseAmount,
+ ROUND(sum(IFNULL(his_consume, 0)), 2) hisConsume,
+ ROUND(sum(IFNULL(free_consume, 0)), 2) freeConsume,
+ ROUND(sum(IFNULL(proj_percentage, 0)), 2) commission,
+ ROUND(sum(IFNULL(number_of_people, 0)), 2) peopleNum,
+ ROUND(sum(IFNULL(proj_num, 0)), 2) projNum,
+ ROUND(sum(IFNULL(proj_time, 0)), 2) serviceTime
+ from (
+ select * from (
+ select * from (
+ select date_format(date_add(now(), INTERVAL -(@rowd := @rowd + 1) DAY), '%Y-%m-%d') datatime
+ from achieve_new a, (select @rowd := 0) t
+ ) a
+ ) a
+ left join (
+ select
+ date_format(a.datatime, '%Y-%m-%d') datatime1,
+ SUM((IFNULL(a.card_cash,0) +IFNULL(a.proj_cash,0) + IFNULL(a.goods_cash,0))) as zk_total,
+ SUM(IFNULL(a.proj_cash,0)) proj_cash,
+ SUM(IFNULL(a.goods_cash, 0)) goods_cash,
+ SUM(IFNULL(a.card_cash,0)) card_cash,
+ SUM(IFNULL(a.consume, 0)) consume
+ from achieve_new a where a.sale_id=#{record.vipId}
+ group by date_format(a.datatime, '%Y-%m-%d')
+ ) b on a.datatime=b.datatime1
+ left join (
+ select
+ date_format(b.datatime, '%Y-%m-%d') datatime2,
+ SUM(IFNULL(b.his_consume, 0)) his_consume,
+ SUM(IFNULL(b.free_consume, 0)) free_consume,
+ SUM(IFNULL(b.proj_percentage, 0)) proj_percentage,
+ SUM(IFNULL(b.number_of_people, 0)) number_of_people,
+ SUM(IFNULL(b.proj_num, 0)) proj_num,
+ SUM(IFNULL(b.proj_time, 0)) proj_time
+ from achieve_new b where b.beault_id=#{record.vipId}
+ group by date_format(b.datatime, '%Y-%m-%d')
+ ) c on a.datatime=c.datatime2
+ ) a
+ group by date_format(a.datatime, #{record.t1})
+ order by a.datatime desc
+ <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
+ <if test="pageVo.offset >=0 and pageVo.limit >0">
+ limit
+ #{pageVo.offset},#{pageVo.limit}
+ </if>
+ </if>
+ </select>
+
+ <select id="selectStaffOrderAchieve" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select
+ IFNULL(SUM((IFNULL(a.card_cash,0) +IFNULL(a.proj_cash,0) + IFNULL(a.goods_cash,0))),0)
+ from achieve_new a
+ where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>
+ <if test="staffId != null and staffId != 0">
+ and sale_id=#{staffId}
+ </if>
+ ) as t${index}
+
+ </foreach>
+ from area where id=1
+ </select>
+
+ <select id="selectStaffCashAchieve" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select
+ IFNULL(SUM((IFNULL(a.proj_cash,0))),0)
+ from achieve_new a
+ where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>
+ <if test="staffId != null and staffId != 0">
+ and sale_id=#{staffId}
+ </if>
+ ) as t${index}
+
+ </foreach>
+ from area where id=1
+ </select>
+
+ <select id="selectStaffCardAchieve" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select
+ IFNULL(SUM((IFNULL(a.card_cash,0))),0)
+ from achieve_new a
+ where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>
+ <if test="staffId != null and staffId != 0">
+ and sale_id=#{staffId}
+ </if>
+ ) as t${index}
+
+ </foreach>
+ from area where id=1
+ </select>
+
+ <select id="selectStaffGoodsAchieve" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select
+ IFNULL(SUM((IFNULL(a.goods_cash,0))),0)
+ from achieve_new a
+ where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>
+ <if test="staffId != null and staffId != 0">
+ and sale_id=#{staffId}
+ </if>
+ ) as t${index}
+ </foreach>
+ from area where id=1
+ </select>
+
+ <select id="selectStaffCardUseAchieve" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select
+ IFNULL(SUM((IFNULL(a.consume,0))),0)
+ from achieve_new a
+ where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>
+ <if test="staffId != null and staffId != 0">
+ and sale_id=#{staffId}
+ </if>
+ ) as t${index}
+ </foreach>
+ from area where id=1
+ </select>
+
+ <select id="selectStaffHisConsumeAchieve" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select
+ IFNULL(SUM((IFNULL(a.his_consume,0))),0)
+ from achieve_new a
+ where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>
+ <if test="staffId != null and staffId != 0">
+ and beault_id=#{staffId}
+ </if>
+ ) as t${index}
+ </foreach>
+ from area where id=1
+ </select>
+
+ <select id="selectStaffFreeConsumeAchieve" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select
+ IFNULL(SUM((IFNULL(a.free_consume,0))),0)
+ from achieve_new a
+ where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>
+ <if test="staffId != null and staffId != 0">
+ and beault_id=#{staffId}
+ </if>
+ ) as t${index}
+ </foreach>
+ from area where id=1
+ </select>
+
+ <select id="selectStaffCommissionAchieve" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select
+ IFNULL(SUM((IFNULL(a.proj_percentage,0))),0)
+ from achieve_new a
+ where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>
+ <if test="staffId != null and staffId != 0">
+ and beault_id=#{staffId}
+ </if>
+ ) as t${index}
+ </foreach>
+ from area where id=1
+ </select>
+
+ <select id="selectStaffPeopleNum" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select
+ IFNULL(SUM((IFNULL(a.number_of_people,0))),0)
+ from achieve_new a
+ where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>
+ <if test="staffId != null and staffId != 0">
+ and beault_id=#{staffId}
+ </if>
+ ) as t${index}
+ </foreach>
+ from area where id=1
+ </select>
+
+ <select id="selectStaffProjNum" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select
+ IFNULL(SUM((IFNULL(a.proj_num,0))),0)
+ from achieve_new a
+ where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>
+ <if test="staffId != null and staffId != 0">
+ and beault_id=#{staffId}
+ </if>
+ ) as t${index}
+ </foreach>
+ from area where id=1
+ </select>
+
+ <select id="selectStaffProjTime" resultType="java.util.TreeMap">
+ select
+ <foreach collection="list" index="index" item="item" separator="," >
+ (
+ select
+ IFNULL(SUM((IFNULL(a.proj_time,0))),0)
+ from achieve_new a
+ where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>
+ <if test="staffId != null and staffId != 0">
+ and beault_id=#{staffId}
+ </if>
+ ) as t${index}
+ </foreach>
+ from area where id=1
+ </select>
</mapper>
diff --git a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductDao.xml b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductDao.xml
index f12db2c..2c2cf8c 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductDao.xml
@@ -846,6 +846,16 @@
</foreach>
</select>
+ <select id="selectProductNameByIds" resultType="java.lang.String">
+ select
+ title
+ from shop_product
+ where id in
+ <foreach collection="ids" item="item" separator="," open="(" close=")">
+ #{item}
+ </foreach>
+ </select>
+
<!-- 根据id 锁表查询-->
<select id="selectForUpdate" resultMap="ShopProductMap">
--
Gitblit v1.9.1