From 8f7460c6ddff45ec39bf2026d75a3f4e2b26f13d Mon Sep 17 00:00:00 2001 From: wzy <wzy19931122ai@163.com> Date: Thu, 11 Nov 2021 23:01:58 +0800 Subject: [PATCH] fix conflect --- zq-erp/src/main/resources/templates/views/common/login.html | 4 zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml | 6 zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml | 60 +++ zq-erp/src/main/resources/templates/views/admin/index.html | 2 zq-erp/src/main/resources/static/plugin/kindeditor/plugins/baidumap/map.html | 2 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html | 1 zq-erp/pom.xml | 1 zq-erp/src/main/java/com/matrix/system/app/action/ApiSettingAction.java | 15 zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java | 68 ++ zq-erp/src/main/java/com/matrix/system/hive/vo/DailyBeautyListVo.java | 50 ++ zq-erp/src/main/resources/config/prd/system.properties | 5 zq-erp/src/main/java/com/matrix/system/hive/statistics/VipStatisticsAction.java | 17 zq-erp/src/main/java/com/matrix/system/app/dto/SettingDto.java | 13 zq-erp/src/main/java/com/matrix/system/common/service/SysUsersService.java | 1 zq-erp/src/main/java/com/matrix/system/common/init/InitWebContainer.java | 2 zq-erp/src/main/java/com/matrix/system/shopXcx/api/WeChatApiTools.java | 17 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html | 2 zq-erp/src/main/resources/templates/views/admin/hive/products/goods-form.html | 12 zq-erp/src/main/resources/mybatis/mapper/common/SysCompanyDao.xml | 12 zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java | 3 zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java | 3 zq-erp/src/main/resources/config/system.properties | 2 zq-erp/src/main/java/com/matrix/system/common/bean/SysUsers.java | 10 zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java | 5 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java | 15 zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml | 179 ++++++++ zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java | 8 zq-erp/src/main/java/com/matrix/system/common/dao/SysUsersDao.java | 1 zq-erp/src/main/resources/static/plugin/beditor/dialogs/map/show.html | 2 zq-erp/src/main/java/com/matrix/system/common/bean/SysCompany.java | 14 zq-erp/src/main/resources/static/plugin/beditor/dialogs/map/map.html | 2 zq-erp/src/main/resources/templates/views/admin/hive/orgment/shopInfo-form.html | 2 zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml | 8 zq-erp/src/main/resources/templates/views/admin/hive/statistics/vip-arrears-list.html | 79 +++ zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml | 13 zq-erp/src/main/resources/static/js/plugin/kindeditor/plugins/baidumap/map.html | 2 zq-erp/src/main/resources/templates/views/admin/shop/shopProduct-form.html | 9 zq-erp/src/main/java/com/matrix/system/common/tools/DataAuthUtil.java | 2 zq-erp/src/main/java/com/matrix/system/hive/statistics/AchieveAction.java | 15 zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java | 13 zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java | 2 zq-erp/src/main/resources/config/mdprd/system.properties | 3 zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java | 1 zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java | 4 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java | 1 zq-erp/src/main/resources/config/application.properties | 10 zq-erp/src/main/java/com/matrix/system/app/dto/LoginDto.java | 10 zq-erp/src/main/java/com/matrix/system/common/service/impl/SysUsersServiceImpl.java | 5 zq-erp/src/main/resources/static/js/plugin/kindeditor/plugins/baidumap/index.html | 2 zq-erp/src/main/resources/templates/views/admin/hive-erp/shop/shopInfo-form.html | 2 zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-beauty-list.html | 223 +++++++++++ zq-erp/src/main/resources/static/plugin/kindeditor/plugins/baidumap/index.html | 2 zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java | 13 zq-erp/src/main/java/com/matrix/system/app/dto/RankingDto.java | 3 zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java | 5 zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java | 141 +++++++ zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoVo.java | 10 zq-erp/src/main/resources/templates/views/super/sysCompany-list.html | 1 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 5 zq-erp/src/main/resources/templates/views/super/sysCompany-form.html | 18 zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java | 2 zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java | 9 zq-erp/src/main/java/com/matrix/system/hive/service/AchieveNewService.java | 4 63 files changed, 1,095 insertions(+), 58 deletions(-) diff --git a/zq-erp/pom.xml b/zq-erp/pom.xml index 84c6f8e..304d045 100644 --- a/zq-erp/pom.xml +++ b/zq-erp/pom.xml @@ -414,7 +414,6 @@ <exclude>config/xcshop/*</exclude> <!-- --> - <exclude>config/config.json</exclude> <exclude>config/application.properties</exclude> <exclude>config/system.properties</exclude> diff --git a/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java b/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java index 54801c7..8bb1c0b 100644 --- a/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java +++ b/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java @@ -72,6 +72,8 @@ //小程序公司与域名对应关系拦截 registry.addInterceptor(hostInterceptor).addPathPatterns("/**/wxapi/**") + .addPathPatterns("/api/common/wxLogin/**") + .addPathPatterns("/api/common/bindUser") .excludePathPatterns("/wxCommon/wxapi/wxpayCallback") .excludePathPatterns("/wxCommon/wxapi/rechargeCallBack"); } 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 f3e8702..571d201 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 @@ -1,5 +1,8 @@ package com.matrix.system.app.action; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.matrix.component.tools.HttpCurlUtil; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.tools.*; import com.matrix.system.app.authority.AppAuthorityManager; @@ -8,9 +11,14 @@ import com.matrix.system.app.vo.UserInfoVo; import com.matrix.system.common.authority.strategy.AccountPasswordLogin; import com.matrix.system.common.authority.strategy.LoginStrategy; +import com.matrix.system.common.bean.SysCompany; import com.matrix.system.common.bean.SysUsers; +import com.matrix.system.common.constance.AppConstance; import com.matrix.system.common.dao.BusParameterSettingsDao; import com.matrix.system.common.init.LocalCache; +import com.matrix.system.common.init.UserCacheManager; +import com.matrix.system.common.interceptor.HostInterceptor; +import com.matrix.system.common.service.SysCompanyService; import com.matrix.system.common.service.SysUsersService; import com.matrix.system.common.tools.PasswordUtil; import com.matrix.system.common.tools.UploadUtil; @@ -19,10 +27,12 @@ import com.matrix.system.hive.plugin.util.CollectionUtils; import com.matrix.system.hive.plugin.util.ImageUtil; import com.matrix.system.hive.service.SysShopInfoService; +import com.matrix.system.shopXcx.api.WeChatApiTools; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; +import net.sf.json.JSONObject; import org.apache.commons.fileupload.FileUploadException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -62,18 +72,29 @@ @Autowired private BusParameterSettingsDao busParameterSettingsDao; + @Autowired + private SysCompanyService sysCompanyService;; + + @Autowired + WeChatApiTools weChatApiTools; + + @Autowired + private UserCacheManager userCacheManager; @Value("${file_storage_path}") private String fileStoragePath; @Value("${static_resource_url}") private String nginxUrl; + @Value("${login_public_key}") + private String publicKey; + @ApiOperation(value = "登陆接口", notes = "手机端登陆接口") @ApiResponses({ @ApiResponse(code = 200, message = "OK", response = UserInfoVo.class) }) @PostMapping(value = "/login") - public AjaxResult login(@RequestBody @Validated LoginDto loginDto) { + public AjaxResult login(@RequestBody @Validated LoginDto loginDto) throws Exception { SysUsers user = new SysUsers(); user.setSuAccount(loginDto.getUsername()); @@ -97,10 +118,12 @@ userInfoVo.setRoleName(user.getRoleName()); userInfoVo.setPhoto(user.getSuPhoto()); + String sb = token + "_1" + "_/api/vip/findVipInfoById/972"; AjaxResult result = AjaxResult.buildSuccessInstance("登陆成功"); authorityManager.initUserPower(result,user); result.putInMap("user", userInfoVo); result.putInMap("token", token); + result.putInMap("rasToken", RSAUtils.encryptByPublicKey(sb, publicKey)); return result; } @@ -247,6 +270,122 @@ } + @ApiOperation(value = "根据企业编码获取对应的请求地址") + @PostMapping(value = "/getUrlByCompanyCode") + public AjaxResult getUrlByCompanyCode(@RequestBody SettingDto codeDto) { + SysCompany query = new SysCompany(); + query.setComCode(codeDto.getCode()); + List<SysCompany> list = sysCompanyService.findByModel(query); + if (CollUtil.isEmpty(list)) { + return new AjaxResult(AjaxResult.STATUS_FAIL, "企业编码有误"); + } + AjaxResult ajaxResult = new AjaxResult(); + ajaxResult.setStatus(AjaxResult.STATUS_SUCCESS); + ajaxResult.putInMap("url", list.get(0).getComWebUrl()); + return ajaxResult; + } + + @ApiOperation(value = "管理端小程序登录") + @PostMapping(value = "/wxLogin/{code}") + public AjaxResult wxLogin(@PathVariable("code") String code) throws IOException { + if (StrUtil.isBlank(code)) { + return AjaxResult.buildFailInstance("code不存在"); + } + AjaxResult res = new AjaxResult(); + String requrl = weChatApiTools.getManagerXcxLoginUrl(code); + + String resultData = HttpCurlUtil.sendGetHttp(requrl, null); + JSONObject json = JSONObject.fromObject(resultData); + LogUtil.debug("管理端小程序登录获取到登录信息={}", json); + + if (json.containsKey("errcode")) { + res.setStatus(AjaxResult.STATUS_FAIL); + res.setInfo("自动登录失败"); + LogUtil.info("微信登录获取到异常信息errcode"); + return res; + } + + String openId = json.getString("openid"); + res.setStatus(AjaxResult.STATUS_SUCCESS); + res.putInMap("openId", openId); + SysUsers hasBind = sysUsersService.findByOpenId(openId, HostInterceptor.getCompanyId()); + if (hasBind == null) { + res.setInfo("未绑定用户"); + return res; + } + + String token = userCacheManager.saveUserInfo(hasBind); + LogUtil.info("用户token={}", token); + + authorityManager.initUserPower(res, hasBind); + + UserInfoVo userInfoVo = new UserInfoVo(); + if(hasBind.getShopId()!=null){ + SysShopInfo shopInfo = sysShopInfoService.findById(hasBind.getShopId()); + hasBind.setShopName(shopInfo.getShopName()); + userInfoVo.setShopName(shopInfo.getShopShortName()); + } + + userInfoVo.setId(hasBind.getSuId()); + userInfoVo.setName(hasBind.getSuName()); + userInfoVo.setRoleName(hasBind.getRoleName()); + userInfoVo.setPhoto(hasBind.getSuPhoto()); + + res.putInMap("token", token); + res.putInMap("userInfo", userInfoVo); + return res; + } + + @ApiOperation(value = "绑定用户") + @PostMapping(value = "/bindUser") + public AjaxResult bindUser(@RequestBody @Validated LoginDto loginDto) { + SysUsers user = new SysUsers(); + user.setSuAccount(loginDto.getUsername()); + user.setSuPassword(loginDto.getPassword()); + LoginStrategy apLogin = new AccountPasswordLogin(user, sysUsersService); + user = authorityManager.login(apLogin); + user.setSuPassword(null); + user.setOpenIds(null); + String token = userCacheManager.saveUserInfo(user); + + AjaxResult result = AjaxResult.buildSuccessInstance("登陆成功"); + authorityManager.initUserPower(result, user); + + UserInfoVo userInfoVo = new UserInfoVo(); + if(user.getShopId()!=null){ + SysShopInfo shopInfo = sysShopInfoService.findById(user.getShopId()); + user.setShopName(shopInfo.getShopName()); + userInfoVo.setShopName(shopInfo.getShopShortName()); + } + + userInfoVo.setId(user.getSuId()); + userInfoVo.setName(user.getSuName()); + userInfoVo.setRoleName(user.getRoleName()); + userInfoVo.setPhoto(user.getSuPhoto()); + + result.putInMap("token", token); + result.putInMap("userInfo", userInfoVo); + + synchronized (this) { + SysUsers hasBind = sysUsersService.findByOpenId(loginDto.getOpenId(), HostInterceptor.getCompanyId()); + if (hasBind != null) { + if(StrUtil.isNotBlank(hasBind.getOpenIds())) { + List<String> openIds = StrUtil.split(hasBind.getOpenIds(), ','); + openIds.remove(loginDto.getOpenId()); + + hasBind.setOpenIds(CollUtil.join(openIds, ",")); + sysUsersService.modifyByModel(hasBind); + } + } + + List<String> openIds = StrUtil.split(user.getOpenIds(), ','); + openIds.add(loginDto.getOpenId()); + user.setOpenIds(CollUtil.join(openIds, ",")); + sysUsersService.modifyByModel(user); + } + + return result; + } } 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 index f3d4d1f..c6fa5d6 100644 --- 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 @@ -86,4 +86,17 @@ achieveNew.setT1(rankingDto.getType()); return AjaxResult.buildSuccessInstance(achieveNewDao.selectBeauticianConsumeAchieveRanking(achieveNew)); } + + @ApiOperation(value = "人头数排名", notes = "人头数排名") + @ApiResponses({ + @ApiResponse(code = 200, message = "ok", response = RankingVo.class) + }) + @PostMapping(value = "/findNumOfPeopleRanking") + public AjaxResult findNumOfPeopleRanking(@RequestBody RankingDto rankingDto) { + AchieveNew achieveNew = new AchieveNew(); + QueryUtil.setQueryLimitCom(achieveNew); + achieveNew.setDatatime(new Date()); + achieveNew.setT1(rankingDto.getType()); + return AjaxResult.buildSuccessInstance(achieveNewDao.selectNumOfPeopleAchieveRanking(achieveNew)); + } } diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiSettingAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiSettingAction.java index 312228d..47d0e49 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiSettingAction.java +++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiSettingAction.java @@ -3,6 +3,7 @@ import com.matrix.core.constance.MatrixConstance; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.tools.WebUtil; +import com.matrix.system.app.dto.SettingDto; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.common.constance.AppConstance; import com.matrix.system.common.dao.BusParameterSettingsDao; @@ -12,10 +13,7 @@ import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** * @author jyy @@ -44,4 +42,13 @@ return result; } + @ApiOperation(value = "根据code获取配置", notes = "根据code获取配置") + @PostMapping(value = "/findAppSettingsByCode") + public AjaxResult findAppSettingsByCode(@RequestBody SettingDto settingDto) { + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + AjaxResult result = AjaxResult.buildSuccessInstance("查询成功"); + result.putInMap(settingDto.getCode(), busParameterSettingsDao.selectCompanyParamByCode(settingDto.getCode(),user.getCompanyId())); + return result; + } + } diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/LoginDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/LoginDto.java index a06332d..a919a3e 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/dto/LoginDto.java +++ b/zq-erp/src/main/java/com/matrix/system/app/dto/LoginDto.java @@ -20,6 +20,16 @@ @NotBlank(message = "用户名或密码错误") private String password; + private String openId; + + public String getOpenId() { + return openId; + } + + public void setOpenId(String openId) { + this.openId = openId; + } + public String getUsername() { return username; } 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 index 3c3d788..428491e 100644 --- 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 @@ -18,11 +18,12 @@ public static final String DAY = "1"; public static final String MONTH = "2"; public static final String YEAR = "3"; + public static final String WEEK = "4"; @ApiModelProperty(value = "数据类型 1-销售 2-消耗", example = "1") private String dataType; - @ApiModelProperty(value = "排行榜类型 1-日榜 2-月榜 3-年榜", example = "1") + @ApiModelProperty(value = "排行榜类型 1-日榜 2-月榜 3-年榜 4-周榜", example = "1") private String type; public String getDataType() { diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/SettingDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/SettingDto.java new file mode 100644 index 0000000..76865f9 --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/app/dto/SettingDto.java @@ -0,0 +1,13 @@ +package com.matrix.system.app.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "SettingDto", description = "根据code获取配置参数接收类") +public class SettingDto { + + @ApiModelProperty(value = "code", example = "1") + private String code; +} diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoVo.java index 325c469..1934aaf 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoVo.java +++ b/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoVo.java @@ -42,6 +42,16 @@ @ApiModelProperty(value = "累计消费") private BigDecimal totalShopping; + @ApiModelProperty(value = "欠款") + private BigDecimal arrears; + + public BigDecimal getArrears() { + return arrears; + } + + public void setArrears(BigDecimal arrears) { + this.arrears = arrears; + } public String getPhoto() { return photo; diff --git a/zq-erp/src/main/java/com/matrix/system/common/bean/SysCompany.java b/zq-erp/src/main/java/com/matrix/system/common/bean/SysCompany.java index 875c420..4b9e6703 100644 --- a/zq-erp/src/main/java/com/matrix/system/common/bean/SysCompany.java +++ b/zq-erp/src/main/java/com/matrix/system/common/bean/SysCompany.java @@ -134,8 +134,16 @@ private String comPlats; - - + + private String comCode; + + public String getComCode() { + return comCode; + } + + public void setComCode(String comCode) { + this.comCode = comCode; + } public Long getComId() { return comId; @@ -333,7 +341,7 @@ public void setComPlats(String comPlats) { this.comPlats=comPlats; } - + @Override public String toString() { diff --git a/zq-erp/src/main/java/com/matrix/system/common/bean/SysUsers.java b/zq-erp/src/main/java/com/matrix/system/common/bean/SysUsers.java index dcadb31..a68a8d5 100644 --- a/zq-erp/src/main/java/com/matrix/system/common/bean/SysUsers.java +++ b/zq-erp/src/main/java/com/matrix/system/common/bean/SysUsers.java @@ -288,6 +288,16 @@ @Extend private SysCompany company; + private String openIds; + + public String getOpenIds() { + return openIds; + } + + public void setOpenIds(String openIds) { + this.openIds = openIds; + } + public String getAllCustomer() { return allCustomer; } diff --git a/zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java b/zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java index 846a5d8..87a5736 100644 --- a/zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java +++ b/zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java @@ -606,7 +606,14 @@ */ public static final String WX_ORDER_NOTICE_DINGDING_TOKEN = "wxOrderNoticeDingdingToken"; - + /** + * 管理端小程序appid + */ + public static final String MINI_PROGRAM_MANAGER_APP_ID = "xcx_manager_appid"; + /** + * 管理端小程序secret + */ + public static final String MINI_PROGRAM_MANAGER_SECRET = "xcx_manager_secret"; diff --git a/zq-erp/src/main/java/com/matrix/system/common/dao/SysUsersDao.java b/zq-erp/src/main/java/com/matrix/system/common/dao/SysUsersDao.java index fcb8f9a..daadc33 100644 --- a/zq-erp/src/main/java/com/matrix/system/common/dao/SysUsersDao.java +++ b/zq-erp/src/main/java/com/matrix/system/common/dao/SysUsersDao.java @@ -125,4 +125,5 @@ public List<AppVersion> selectAppVersion(); + SysUsers selectUserByOpenId(@Param("openId") String openId, @Param("companyId") Long companyId); } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/common/init/InitWebContainer.java b/zq-erp/src/main/java/com/matrix/system/common/init/InitWebContainer.java index 773e107..3749554 100644 --- a/zq-erp/src/main/java/com/matrix/system/common/init/InitWebContainer.java +++ b/zq-erp/src/main/java/com/matrix/system/common/init/InitWebContainer.java @@ -122,7 +122,7 @@ List<SysCompany> company=sysCompanyService.findByModel(null); Map<String, SysCompany> companyMap=new HashMap<>(); for (SysCompany sysCompany : company) { - companyMap.put(sysCompany.getComWebUrl(), sysCompany); + companyMap.put(sysCompany.getComCode(), sysCompany); } LocalCache.save("companyMap", companyMap); } diff --git a/zq-erp/src/main/java/com/matrix/system/common/service/SysUsersService.java b/zq-erp/src/main/java/com/matrix/system/common/service/SysUsersService.java index b41f466..905a0ff 100644 --- a/zq-erp/src/main/java/com/matrix/system/common/service/SysUsersService.java +++ b/zq-erp/src/main/java/com/matrix/system/common/service/SysUsersService.java @@ -173,4 +173,5 @@ public List<AppVersion> findAppVersion(); + SysUsers findByOpenId(String openId, Long companyId); } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/common/service/impl/SysUsersServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/common/service/impl/SysUsersServiceImpl.java index 3771598..f633b69 100644 --- a/zq-erp/src/main/java/com/matrix/system/common/service/impl/SysUsersServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/common/service/impl/SysUsersServiceImpl.java @@ -270,4 +270,9 @@ public List<AppVersion> findAppVersion() { return sysUsersDao.selectAppVersion(); } + + @Override + public SysUsers findByOpenId(String openId, Long companyId) { + return sysUsersDao.selectUserByOpenId(openId, companyId); + } } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/common/tools/DataAuthUtil.java b/zq-erp/src/main/java/com/matrix/system/common/tools/DataAuthUtil.java index 9e0a932..62525b3 100644 --- a/zq-erp/src/main/java/com/matrix/system/common/tools/DataAuthUtil.java +++ b/zq-erp/src/main/java/com/matrix/system/common/tools/DataAuthUtil.java @@ -31,7 +31,7 @@ */ public static boolean hasAllCustomerAuth() { SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); - return user.getShopRole().equals(Dictionary.FLAG_YES_Y) || user.getSuUserType().equals(AppConstance.USER_TYPE_ADMIN); + return Dictionary.FLAG_YES_Y.equals(user.getShopRole()) || AppConstance.USER_TYPE_ADMIN.equals(user.getSuUserType()); } } diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java index 9edf94f..fed9f78 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java @@ -261,6 +261,7 @@ vips.get(0).setLabels(sysVipLabelDao.selectByVipId(vips.get(0).getId())); vips.get(0).setAge(DateUtil.getAgeForBirthDay(vips.get(0).getBirthday1())); vips.get(0).setBalance(moneyCardUseDao.selectVipCardTotalMoney(vips.get(0).getId())); + vips.get(0).setArrears(sysOrderService.findVipArrearsByVipId(vips.get(0).getId())); AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, vips, 0); return result; } else { diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java index 789b879..7eae13c 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java @@ -449,6 +449,19 @@ */ private String payMethods; + /** + * 是否合作项目 + */ + private Integer isCooperate; + + public Integer getIsCooperate() { + return isCooperate; + } + + public void setIsCooperate(Integer isCooperate) { + this.isCooperate = isCooperate; + } + public String getAchieveRuleName() { return achieveRuleName; } diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java index 72f4119..09224d4 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java @@ -9,6 +9,7 @@ import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -437,8 +438,7 @@ private String name; + private BigDecimal arrears; - - } \ No newline at end of file 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 482ad02..ec7c010 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 @@ -10,6 +10,7 @@ import com.matrix.system.hive.bean.AchieveNew; import com.matrix.system.hive.dto.AchieveNewStatisticsDto; import com.matrix.system.hive.vo.AchieveNewStatisticsVo; +import com.matrix.system.hive.vo.DailyBeautyListVo; import org.apache.ibatis.annotations.Param; import java.util.ArrayList; @@ -91,4 +92,11 @@ IPage<AchieveNewStatisticsVo> achieveNewStatistics(Page<AchieveNewStatisticsVo> page, @Param("record")AchieveNewStatisticsDto queryDto); void setPayMethod(@Param("paymethod") String paymethod, @Param("list") ArrayList<Long> ids); + + List<RankingVo> selectNumOfPeopleAchieveRanking(@Param("record") AchieveNew achieveNew); + + List<DailyBeautyListVo> selectDailyBeautyList(@Param("record") AchieveNew achieveNew, @Param("pageVo") PaginationVO pageVo); + int selectDailyBeautyListTotal(@Param("record") AchieveNew achieveNew); + + String selectPlInfoByVipIdAndDate(@Param("datatime") Date datatime, @Param("vipId") Long vipId); } \ 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 c052f28..22ef160 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 @@ -9,6 +9,7 @@ import com.matrix.system.shopXcx.api.vo.ErpOrderDetailVo; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -54,4 +55,6 @@ List<ErpOrderDetailVo> selectErpOrderList(ErpOrderListDto erpOrderListDto); ErpOrderDetailVo findUserOrderById(Long orderId); + + BigDecimal selectArrearsByVipId(Long vipId); } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java index 747dc87..fd8fba7 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java @@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** @@ -214,4 +215,8 @@ int unbundlingSaleMan(Long userId); int bindingRecommend(@Param("recommendId") Long recommendId,@Param("userId") Long userId); + + List<Map<String, Object>> selectVipArrearsStatistics(@Param("record") SysVipInfo sysVipInfo, @Param("pageVo") PaginationVO pageVo); + + Integer selectVipArrearsStatisticsTotal(@Param("record") SysVipInfo sysVipInfo); } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/AchieveNewService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/AchieveNewService.java index bdf9228..0698dac 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/AchieveNewService.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/AchieveNewService.java @@ -6,6 +6,7 @@ import com.matrix.system.hive.bean.SysOrder; import com.matrix.system.hive.bean.SysProjServices; import com.matrix.system.hive.plugin.util.BaseServices; +import com.matrix.system.hive.vo.DailyBeautyListVo; import java.util.List; import java.util.Map; @@ -117,4 +118,7 @@ public List<AchieveNew> findOrderItemAchieve(Long orderid); + List<DailyBeautyListVo> findDailyBeautyList(AchieveNew achieveNew, PaginationVO pageVo); + int findDailyBeautyListTotal(AchieveNew achieveNew); + } \ No newline at end of file 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 6e0e060..2be2912 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 @@ -12,6 +12,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpSession; +import java.math.BigDecimal; import java.util.List; /** @@ -142,4 +143,6 @@ List<RankingVo> findApiShopAchieveRanking(SysOrder sysOrder); + BigDecimal findVipArrearsByVipId(Long vipId); + } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java index dd21bc1..cd93e2d 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java @@ -14,6 +14,7 @@ import java.io.File; import java.io.IOException; import java.util.List; +import java.util.Map; /** * @@ -205,4 +206,8 @@ public int setToBeAnSalesman(Long userId,Long invitationId,long gradeId); SysVipInfo findByOpenId(String openId); + + List<Map<String, Object>> findVipArrearsStatistics(SysVipInfo sysVipInfo, PaginationVO pageVo); + + Integer findVipArrearsStatisticsTotal(SysVipInfo sysVipInfo); } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java index afec062..f23d9a1 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java @@ -21,6 +21,7 @@ import com.matrix.system.hive.plugin.util.CollectionUtils; import com.matrix.system.hive.service.AchieveNewService; import com.matrix.system.hive.service.SysProjServicesService; +import com.matrix.system.hive.vo.DailyBeautyListVo; import com.matrix.system.hiveErp.pojo.AchieveRuleItem; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -174,8 +175,7 @@ boolean flag = projServicesService.skipServiceOrderStep(Dictionary.SALE_MAN_IS_CONSUME_ACHIEVE); - - + Set<Long> beautyIds = new HashSet<>(); for (SysBeauticianState beauticianState : beauticianStateList) { // 是否第一次计算改美疗师 boolean isFirst = true; @@ -222,13 +222,13 @@ // } } - List<AchieveNew> beautyList = achieveNewDao.selectBeautyManAchieveList(beauticianState.getStaffId(), projServices.getVipId(), new Date()); - if (CollUtil.isEmpty(beautyList)) { - achieveNew.setNumberOfPeople(1D / size); - } else { - achieveNew.setNumberOfPeople(1D / (size + beautyList.size())); - achieveNewDao.updateAchieveNumOfPeople(beautyList, achieveNew.getNumberOfPeople()); - } +// List<AchieveNew> beautyList = achieveNewDao.selectBeautyManAchieveList(beauticianState.getStaffId(), projServices.getVipId(), new Date()); +// if (CollUtil.isEmpty(beautyList)) { +// achieveNew.setNumberOfPeople(1D / size); +// } else { +// achieveNew.setNumberOfPeople(1D / (size + beautyList.size())); +// achieveNewDao.updateAchieveNumOfPeople(beautyList, achieveNew.getNumberOfPeople()); +// } achieveNew.setProjNum(1); if (StringUtils.isNotBlank(beauticianState.getExtract())) { @@ -244,11 +244,14 @@ achieveNew.setProjTime(beauticianState.getExcTime()); isFirst = false; } + + beautyIds.add(achieveNew.getBeaultId()); achieveNewList.add(achieveNew); } if (CollectionUtils.isNotEmpty(achieveNewList)) { achieveNewDao.batchInsert(achieveNewList); + achieveNumOfPeople(beautyIds, projServices.getVipId()); } } @@ -297,9 +300,31 @@ } } + /** + * + * 合并订单与服务单人头逻辑,即每一个客户对美疗师/顾问来说,每一天同一个客户只算一个人头。 + * 如若A给客户X下订单,并给客户X服务,对A来说只算一个人头 + */ + private void achieveNumOfPeople(Set<Long> beautyIds, Long vipId) { + for (Long userId : beautyIds) { + double num; + List<AchieveNew> achieveNewList = achieveNewDao.selectBeautyManAchieveList(userId, vipId, new Date()); + + if (CollUtil.isEmpty(achieveNewList)) { + num = 1D; + } else { + num = 1D / achieveNewList.size(); + } + + achieveNewDao.updateAchieveNumOfPeople(achieveNewList, num); + } + + } + @Override public void addAchaeveByOrder(SysOrder pageOrder) { List<AchieveNew> achieveNewList = new ArrayList<>(); + Set<Long> beautyIds = new HashSet<>(); if (CollectionUtils.isNotEmpty(pageOrder.getItems())) { for (SysOrderItem orderItem : pageOrder.getItems()) { @@ -309,13 +334,19 @@ if (achieveNew !=null && achieveNew.getGoodsCash()!=null) { buildAchieve(pageOrder, orderItem, achieveNew); achieveNewList.add(achieveNew); + + beautyIds.add(achieveNew.getBeaultId()); } } } } } + if (CollectionUtils.isNotEmpty(achieveNewList)) { achieveNewDao.batchInsert(achieveNewList); + if (!beautyIds.isEmpty()) { + achieveNumOfPeople(beautyIds, pageOrder.getVipId()); + } } } @@ -354,7 +385,7 @@ } // 设置顾问人头业绩 - saleAchieveNumOfPeople(achieveNew); +// saleAchieveNumOfPeople(achieveNew); achieveNew.setOrderType(Dictionary.ORDER_TYPE_SEAL); achieveNew.setOrderId(pageOrder.getId()); @@ -439,4 +470,21 @@ public List<AchieveNew> findOrderItemAchieve(Long orderId) { return achieveNewDao.selectOrderItemAchieveByOrderId(orderId); } + + @Override + public List<DailyBeautyListVo> findDailyBeautyList(AchieveNew achieveNew, PaginationVO pageVo) { + List<DailyBeautyListVo> list = achieveNewDao.selectDailyBeautyList(achieveNew, pageVo); + if (CollUtil.isNotEmpty(list)) { + for (DailyBeautyListVo item : list) { + String pl = achieveNewDao.selectPlInfoByVipIdAndDate(item.getDatatime(), item.getVipId()); + item.setProjInfo(pl); + } + } + return list; + } + + @Override + public int findDailyBeautyListTotal(AchieveNew achieveNew) { + return achieveNewDao.selectDailyBeautyListTotal(achieveNew); + } } \ No newline at end of file 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 f569ace..f9bc208 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 @@ -1853,4 +1853,9 @@ sysInstoreInfoService.check(instoreInfo); } + + @Override + public BigDecimal findVipArrearsByVipId(Long vipId) { + return sysOrderDao.selectArrearsByVipId(vipId); + } } diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java index 8980936..0515e39 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java @@ -79,6 +79,9 @@ @Autowired ScoreVipDetailService scoreVipDetailService; + @Autowired + private SysOrderDao sysOrderDao; + /** * 新增会员储值卡 @@ -440,7 +443,9 @@ @Override public com.matrix.system.app.vo.VipInfoVo findApiVipInfoById(Long id) { - return sysVipInfoDao.selectVipInfoById(id); + com.matrix.system.app.vo.VipInfoVo result = sysVipInfoDao.selectVipInfoById(id); + result.setArrears(sysOrderDao.selectArrearsByVipId(id)); + return result; } @Override @@ -669,5 +674,13 @@ } + @Override + public List<Map<String, Object>> findVipArrearsStatistics(SysVipInfo sysVipInfo, PaginationVO pageVo) { + return sysVipInfoDao.selectVipArrearsStatistics(sysVipInfo, pageVo); + } + @Override + public Integer findVipArrearsStatisticsTotal(SysVipInfo sysVipInfo) { + return sysVipInfoDao.selectVipArrearsStatisticsTotal(sysVipInfo); + } } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/hive/statistics/AchieveAction.java b/zq-erp/src/main/java/com/matrix/system/hive/statistics/AchieveAction.java index 354a30d..9901970 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/statistics/AchieveAction.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/statistics/AchieveAction.java @@ -272,5 +272,20 @@ } } + @RequestMapping(value = "/findDailyBeautyList") + @ResponseBody + public AjaxResult findDailyBeautyList(@RequestBody AchieveNew achieveNew) { + SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); + achieveNew.setCompanyId(sysUsers.getCompanyId()); + if (!DataAuthUtil.hasAllShopAuth()) { + achieveNew.setShopId(sysUsers.getShopId()); + } + PaginationVO pageVo = new PaginationVO(); + + pageVo.setOffset(achieveNew.getOffset()); + pageVo.setLimit(achieveNew.getLimit()); + return AjaxResult.buildSuccessInstance(achieveNewService.findDailyBeautyList(achieveNew, pageVo), achieveNewService.findDailyBeautyListTotal(achieveNew)); + } + } diff --git a/zq-erp/src/main/java/com/matrix/system/hive/statistics/VipStatisticsAction.java b/zq-erp/src/main/java/com/matrix/system/hive/statistics/VipStatisticsAction.java index 52abb4e..94aad6a 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/statistics/VipStatisticsAction.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/statistics/VipStatisticsAction.java @@ -7,7 +7,9 @@ import com.matrix.system.common.bean.SysUsers; import com.matrix.system.common.tools.DataAuthUtil; import com.matrix.system.hive.bean.AchieveNew; +import com.matrix.system.hive.bean.SysVipInfo; import com.matrix.system.hive.service.AchieveNewService; +import com.matrix.system.hive.service.SysVipInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -29,6 +31,9 @@ @Autowired private AchieveNewService achieveNewService; + @Autowired + private SysVipInfoService sysVipInfoService; + @RequestMapping(value = "/vipConsumeStatistics") @ResponseBody public AjaxResult vipConsumeStatistics(AchieveNew achieveNew, PaginationVO pageVo) { @@ -40,4 +45,16 @@ int total = achieveNewService.findVipConsumeStatisticsTotal(achieveNew); return AjaxResult.buildSuccessInstance(list, total); } + + @RequestMapping(value = "/vipArrearsStatistics") + @ResponseBody + public AjaxResult vipArrearsStatistics(SysVipInfo sysVipInfo, PaginationVO pageVo) { + SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); + if (!DataAuthUtil.hasAllShopAuth()) { + sysVipInfo.setShopId(sysUsers.getShopId()); + } + + int total = sysVipInfoService.findVipArrearsStatisticsTotal(sysVipInfo); + return AjaxResult.buildSuccessInstance(sysVipInfoService.findVipArrearsStatistics(sysVipInfo, pageVo), total); + } } diff --git a/zq-erp/src/main/java/com/matrix/system/hive/vo/DailyBeautyListVo.java b/zq-erp/src/main/java/com/matrix/system/hive/vo/DailyBeautyListVo.java new file mode 100644 index 0000000..37a969d --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/hive/vo/DailyBeautyListVo.java @@ -0,0 +1,50 @@ +package com.matrix.system.hive.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class DailyBeautyListVo { + + @JsonFormat(pattern = "yyyy-MM-dd", timezone="GMT+8") + private Date datatime; + + private String beautyName; + + private String vipName; + + private Long vipId; + + private int isAppoint; + + private String arrivalWay; + + private int orderCnt; + + private int arriveCnt; + + private String payMethods; + + private BigDecimal teamPay; + + private BigDecimal tcAndProjCash; + + private BigDecimal productCash; + + private BigDecimal cardCash; + + private BigDecimal cardPay; + + private BigDecimal cashPay; + + private BigDecimal consume; + + private Integer projCnt; + + private BigDecimal ticheng; + + private String projInfo; +} diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/WeChatApiTools.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/WeChatApiTools.java index 5befb86..e055e95 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/WeChatApiTools.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/WeChatApiTools.java @@ -47,7 +47,22 @@ */ public String getXcxLoginUrl(String code,Long companyId) { String wechatLoginUrl = PropertiesUtil.getString(WECHAT_LOGIN_URL); + return String.format(wechatLoginUrl, getAppid(companyId), getSecret(companyId), code); + } + + /** + * 获取管理端小程序登录地址 + * + * @param code + * @return + */ + public String getManagerXcxLoginUrl(String code) { + String wechatLoginUrl = PropertiesUtil.getString(WECHAT_LOGIN_URL); + String appId = PropertiesUtil.getString(AppConstance.MINI_PROGRAM_MANAGER_APP_ID); + String secret = PropertiesUtil.getString(AppConstance.MINI_PROGRAM_MANAGER_SECRET); + + return String.format(wechatLoginUrl, appId, secret, code); } /** @@ -67,8 +82,6 @@ BusParameterSettings secret = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.MINIPROGRAM_SECRET, companyId); return secret.getParamValue(); } - - /** * 清空token diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java index 0b0eaac..e07d511 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java @@ -2,6 +2,7 @@ import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.matrix.system.common.constance.AppConstance; import com.matrix.system.common.init.UserCacheManager; import com.matrix.component.tools.HttpCurlUtil; import com.matrix.core.pojo.AjaxResult; diff --git a/zq-erp/src/main/resources/config/application.properties b/zq-erp/src/main/resources/config/application.properties index c5f1bc5..40e7422 100644 --- a/zq-erp/src/main/resources/config/application.properties +++ b/zq-erp/src/main/resources/config/application.properties @@ -8,6 +8,10 @@ #spring.datasource.password=123456 #spring.datasource.url=jdbc:mysql://120.27.238.55:3306/hive_test_meidu?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 +spring.datasource.username=hive +spring.datasource.password=hive123!@# +spring.datasource.url=jdbc:mysql://124.70.222.34/hive_prd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 + #spring.datasource.username=xc_shop #spring.datasource.password=xc_shop123!@# #spring.datasource.url=jdbc:mysql://124.70.222.34/xc_shop?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 @@ -17,9 +21,9 @@ #spring.datasource.password=hive123!@# #spring.datasource.url=jdbc:mysql://124.70.222.34/hive_prd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 -spring.datasource.username=meidu_data -spring.datasource.password=meidu_4321#&@ -spring.datasource.url=jdbc:mysql://47.111.134.136/db_meidu_prd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 +#spring.datasource.username=meidu_data +#spring.datasource.password=meidu_4321#&@ +#spring.datasource.url=jdbc:mysql://47.111.134.136/db_meidu_prd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 #spring.datasource.username=root diff --git a/zq-erp/src/main/resources/config/mdprd/system.properties b/zq-erp/src/main/resources/config/mdprd/system.properties index b601be1..30d25c6 100644 --- a/zq-erp/src/main/resources/config/mdprd/system.properties +++ b/zq-erp/src/main/resources/config/mdprd/system.properties @@ -59,7 +59,8 @@ wechar_login_url =https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code xcx_appid =wx3836ab3c1490ff29 xcx_secret =39a3687ec5b2666ed68e7c8b83b26b47 - +xcx_manager_appid=wx2948b3b914a9722e +xcx_manager_secret=1685dfd99a43e213ed8be07870b898ba #微信支付调试开关 wx_pay_debug_onoff = false diff --git a/zq-erp/src/main/resources/config/prd/system.properties b/zq-erp/src/main/resources/config/prd/system.properties index 9290b39..29bc57e 100644 --- a/zq-erp/src/main/resources/config/prd/system.properties +++ b/zq-erp/src/main/resources/config/prd/system.properties @@ -12,7 +12,7 @@ default_password=123 #nginx静态资源访问地址 -static_resource_url=https://filehive2.jyymatrix.cc/uploadeFile/ +static_resource_url=https://hive.file.csxuncong.com/uploadeFile/ #文件保存地址 file_storage_path=/mnt/hive/static/uploadeFile/ #文件上传大小字节为单位 10MB @@ -59,7 +59,8 @@ wechar_login_url =https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code xcx_appid =wx3836ab3c1490ff29 xcx_secret =39a3687ec5b2666ed68e7c8b83b26b47 - +xcx_manager_appid=wx2948b3b914a9722e +xcx_manager_secret=1685dfd99a43e213ed8be07870b898ba #微信支付调试开关 wx_pay_debug_onoff = false diff --git a/zq-erp/src/main/resources/config/system.properties b/zq-erp/src/main/resources/config/system.properties index 9355c08..e2c8614 100644 --- a/zq-erp/src/main/resources/config/system.properties +++ b/zq-erp/src/main/resources/config/system.properties @@ -51,6 +51,8 @@ wechar_login_url =https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code xcx_appid =wx5cc58f796224af61 xcx_secret =facea088aae414e5c2ee86b459887721 +xcx_manager_appid=wx2948b3b914a9722e +xcx_manager_secret=1685dfd99a43e213ed8be07870b898ba #公众号 gzh_appid=wx57e6335559bdbda6 diff --git a/zq-erp/src/main/resources/mybatis/mapper/common/SysCompanyDao.xml b/zq-erp/src/main/resources/mybatis/mapper/common/SysCompanyDao.xml index 6c01dba..e6121b4 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/common/SysCompanyDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/common/SysCompanyDao.xml @@ -231,6 +231,9 @@ <if test="_parameter.containsKey('comPlats')"> com_plats = #{comPlats}, </if> + <if test="_parameter.containsKey('comCode')"> + com_code = #{comCode}, + </if> </set> WHERE com_id=#{comId} </update> @@ -694,7 +697,8 @@ com_logo, com_valid, com_functions, - com_plats + com_plats, + com_code from sys_company where com_id=#{comId} </select> @@ -846,9 +850,13 @@ and com_functions = #{record.comFunctions} </if> <if - test="(record.comPlats!=null and record.comPlats!='') or (record.comPlats!='' and record.comPlats==0)"> + test="(record.comPlats!=null and record.comPlats!='') or (record.comPlats!='' and record.comPlats==0)"> and com_plats = #{record.comPlats} </if> + <if + test="(record.comCode!=null and record.comCode!='') or (record.comCode!='' and record.comCode==0)"> + and com_code = #{record.comCode} + </if> </if> </where> </select> 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 615593d..557d4ea 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml @@ -486,6 +486,9 @@ <if test="signDate != null and signDate !='' "> sign_date = #{signDate} </if> + <if test="openIds != null and openIds !='' "> + open_ids = #{openIds} + </if> </set> WHERE su_id=#{suId} @@ -1328,4 +1331,14 @@ <select id="selectAppVersion" resultType="com.matrix.system.hive.bean.AppVersion"> select * from app_version </select> + + <select id="selectUserByOpenId" resultMap="SysUsersMap"> + select *, + (select GROUP_CONCAT(role_name separator ',') from sys_role where find_in_set(role_id,role_ids) ) roleName + from sys_users where find_in_set(#{openId}, open_ids) + <if test="companyId != null"> + and company_id=#{companyId} + </if> + </select> + </mapper> \ No newline at end of file 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 99190d7..0e05a28 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml @@ -989,6 +989,9 @@ <if test='record.t1 == "3" and record.datatime != null'> and date_format(datatime, '%Y') = date_format(#{record.datatime}, '%Y') </if> + <if test='record.t1 == "4" and record.datatime != null'> + and date_format(datatime, '%Y-%m-%d %u') = date_format(#{record.datatime}, '%Y-%m-%d %u') + </if> </where> group by a.shop_id order by amount desc, a.shop_id @@ -1020,6 +1023,9 @@ </if> <if test='record.t1 == "3" and record.datatime != null'> and date_format(datatime, '%Y') = date_format(#{record.datatime}, '%Y') + </if> + <if test='record.t1 == "4" and record.datatime != null'> + and date_format(datatime, '%Y-%m-%d %u') = date_format(#{record.datatime}, '%Y-%m-%d %u') </if> </where> group by a.beault_id @@ -1066,6 +1072,9 @@ <if test='record.type == "3" and record.datatime != null'> and date_format(datatime, '%Y') = date_format(#{record.datatime}, '%Y') </if> + <if test='record.t1 == "4" and record.datatime != null'> + and date_format(datatime, '%Y-%m-%d %u') = date_format(#{record.datatime}, '%Y-%m-%d %u') + </if> </where> group by b.su_id order by amount desc, b.su_id @@ -1092,6 +1101,9 @@ </if> <if test='record.t1 == "3" and record.datatime != null'> and date_format(a.create_time, '%Y') = date_format(#{record.datatime}, '%Y') + </if> + <if test='record.t1 == "4" and record.datatime != null'> + and date_format(a.create_time, '%Y-%m-%d %u') = date_format(#{record.datatime}, '%Y-%m-%d %u') </if> </where> group by a.shop_id @@ -1193,4 +1205,171 @@ </update> + + <select id="selectNumOfPeopleAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo"> + select + b.su_name name, + b.su_id id, + b.su_photo photo, + sum(number_of_people) 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> + <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> + <if test='record.t1 == "4" and record.datatime != null'> + and date_format(datatime, '%Y-%m-%d %u') = date_format(#{record.datatime}, '%Y-%m-%d %u') + </if> + </where> + group by a.beault_id + order by amount desc + </select> + + <select id="selectDailyBeautyList" resultType="com.matrix.system.hive.vo.DailyBeautyListVo"> + select + date_format(b.datatime, '%Y-%m-%d') datatime, + a.su_id, + a.su_name beautyName, + c.id vipId, + c.VIP_NAME, + c.arrival_way, + case when c.BEATUY_ID=a.su_id then 1 else 0 end isAppoint, + (select count(distinct date_format(n.datatime, '%Y-%m-%d')) from achieve_new n + where date_format(b.datatime, '%Y-%m') = date_format(n.datatime, '%Y-%m') and n.vip_id=c.ID + group by date_format(n.datatime, '%Y-%m'))arriveCnt, + (select count(1) from sys_order o where o.statu in ('欠款', '已付款') and o.VIP_ID=c.id) orderCnt, + (select group_concat(distinct q.pay_method) payMethod from sys_order p + inner join sys_order_flow q on p.ID=q.ORDER_ID + inner join achieve_new o on o.order_id=p.id + where date_format(pay_time, '%Y-%m-%d') = date_format(b.datatime, '%Y-%m-%d') and o.beault_id=a.su_id and c.ID=q.vip_id and p.STATU in ('欠款', '已付款') + group by p.VIP_ID) payMethods, + (select sum(amount) from sys_order_flow x + inner join achieve_new y on x.order_id=y.order_id + where x.pay_method='团购' and date_format(x.create_time, '%Y-%m-%d') = date_format(b.datatime, '%Y-%m-%d') + and y.beault_id=a.su_id and x.vip_id=c.id ) teamPay, + (select sum(m.ZK_PRICE) from sys_order_item m + inner join achieve_new n on n.ORDER_ID=m.order_id + where date_format(m.create_time, '%Y-%m-%d') = date_format(b.datatime, '%Y-%m-%d') + and m.type in ('套餐', '项目') and n.beault_id=a.su_id) tcAndProjCash, + (select sum(m.ZK_PRICE) from sys_order_item m + inner join achieve_new n on n.ORDER_ID=m.order_id + where date_format(m.create_time, '%Y-%m-%d') = date_format(b.datatime, '%Y-%m-%d') + and m.type in ('家居产品') and n.beault_id=a.su_id) productCash, + (select sum(m.ZK_PRICE) from sys_order_item m + inner join achieve_new n on n.ORDER_ID=m.order_id + where date_format(m.create_time, '%Y-%m-%d') = date_format(b.datatime, '%Y-%m-%d') + and m.type in ('充值卡') and n.beault_id=a.su_id) cardCash, + (select sum(amount) from sys_order_flow x + inner join achieve_new y on x.order_id=y.order_id + where x.pay_method='储值卡' and date_format(x.create_time, '%Y-%m-%d') = date_format(b.datatime, '%Y-%m-%d') + and y.beault_id=a.su_id and x.vip_id=c.id) cardPay, + (select sum(amount) from sys_order_flow x + inner join achieve_new y on x.order_id=y.order_id + where x.pay_method not in ('储值卡','欠款') and date_format(x.create_time, '%Y-%m-%d') = date_format(b.datatime, '%Y-%m-%d') + and y.beault_id=a.su_id and x.vip_id=c.id) cashPay, + (select sum(e.goods_cash) from achieve_new e + inner join shopping_goods f on e.shopping_goods_id=f.id and f.is_cooperate=1 + where e.order_type='订单' and date_format(e.datatime, '%Y-%m-%d') = date_format(b.datatime, '%Y-%m-%d') + and e.beault_id=a.su_id and e.vip_id=c.id) cooperateProj, + sum(proj_percentage) ticheng, + sum(IFNULL(free_consume,0) + IFNULL(his_consume,0)) consume, + (select count(1) from achieve_new z where z.beault_id=a.su_id and c.id=z.vip_id and z.order_type='服务单' group by z.beault_id,z.vip_id) projCnt + from sys_users a + left join achieve_new b on a.su_id=b.beault_id + left join sys_vip_info c on b.vip_id=c.ID + where 1=1 + <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.beginTime != null"> + and date_format(b.datatime, '%Y-%m-%d') > date_format(#{record.beginTime}, '%Y-%m-%d') + </if> + <if test="record.endTime != null"> + and date_format(#{record.endTime}, '%Y-%m-%d') > date_format(b.datatime, '%Y-%m-%d') + </if> + <if test="record.beaultId != null"> + and a.su_id=#{record.beaultId} + </if> + <if test="record.vipQueryKey != null and record.vipQueryKey != ''"> + and c.vip_name like concat('%', #{record.vipQueryKey}, '%') + </if> + <if test="record.beginTime == null and record.endTime == null"> + and date_format(b.datatime, '%Y-%m') = date_format(now(), '%Y-%m') + </if> + group by date_format(b.datatime, '%Y-%m-%d'), a.su_id, c.ID + <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 --> + order by date_format(b.datatime, '%Y-%m-%d') desc, a.su_id + <if test="pageVo.offset >=0 and pageVo.limit >0"> + limit + #{pageVo.offset},#{pageVo.limit} + </if> + </if> + </select> + + <select id="selectDailyBeautyListTotal" resultType="java.lang.Integer"> + select count(1) from ( + select + date_format(b.datatime, '%Y-%m-%d') datatime, + a.su_id, + a.su_name, + c.id vipId, + c.VIP_NAME, + c.arrival_way, + sum(proj_percentage) ticheng, + sum(IFNULL(free_consume,0) + IFNULL(his_consume,0)) consume + from sys_users a + left join achieve_new b on a.su_id=b.beault_id + left join sys_vip_info c on b.vip_id=c.ID + where 1=1 + <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.beginTime != null"> + and date_format(b.datatime, '%Y-%m-%d') > date_format(#{record.beginTime}, '%Y-%m-%d') + </if> + <if test="record.endTime != null"> + and date_format(#{record.endTime}, '%Y-%m-%d') > date_format(b.datatime, '%Y-%m-%d') + </if> + <if test="record.beaultId != null"> + and a.su_id=#{record.beaultId} + </if> + <if test="record.vipQueryKey != null and record.vipQueryKey != ''"> + and c.vip_name like concat('%', #{record.vipQueryKey}, '%') + </if> + <if test="record.beginTime == null and record.endTime == null"> + and date_format(b.datatime, '%Y-%m') = date_format(now(), '%Y-%m') + </if> + group by date_format(b.datatime, '%Y-%m-%d'), a.su_id, c.ID + ) a + </select> + + <select id="selectPlInfoByVipIdAndDate" resultType="java.lang.String"> + select group_concat(concat(name,'*', bb)) + from (select l.name name, 0+CAST(sum(n.amount) as char) bb from sys_out_store m + inner join sys_out_store_item n on m.id=n.OUT_STORE_ID + inner join shopping_goods l on n.SKU_ID=l.id + where m.SERVICE_ID in (select distinct service_order_id from achieve_new where date_format(datatime, '%Y-%m-%d') = date_format(#{datatime}, '%Y-%m-%d') and vip_id=#{vipId}) + group by l.id) a + </select> </mapper> \ No newline at end of file diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml index 30fa7f3..42b4adc 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml @@ -308,8 +308,8 @@ invalid_time, pay_methods, is_infinite, - achieve_rule_id - + achieve_rule_id, + is_cooperate ) VALUES ( #{id}, @@ -371,8 +371,8 @@ #{invalidTime}, #{payMethods}, #{isInfinite}, - #{achieveRuleId} - + #{achieveRuleId}, + #{isCooperate} ) </insert> 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 a9ba0be..955e108 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml @@ -494,7 +494,7 @@ MAX(pay_time) payTime, GROUP_CONCAT(DISTINCT t2.shop_short_name) shopName from sys_order t1 - left join sys_order_flow b on t1.id=b.ORDER_ID and pay_method!='储值卡' + left join sys_order_flow b on t1.id=b.ORDER_ID and pay_method!='储值卡' and pay_method!='欠款' left join sys_shop_info t2 on t1.SHOP_ID=t2.ID where t1.VIP_ID=#{vipId} and STATU='已付款'; </select> @@ -690,4 +690,8 @@ </select> + <select id="selectArrearsByVipId" resultType="java.math.BigDecimal"> + select sum(arrears) from sys_order + where vip_id=#{vipId} and statu='欠款' + </select> </mapper> \ No newline at end of file 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 4c304c9..a465730 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml @@ -1473,8 +1473,68 @@ + <select id="selectVipArrearsStatistics" resultType="java.util.Map"> + select + a.VIP_NAME vipName, + a.PHONE phone, + c.shop_short_name shopName, + sum(b.arrears) arrears, + count(1) cnt, + d.su_name staffName + from sys_vip_info a + inner join sys_order b on a.ID=b.VIP_ID + inner join sys_shop_info c on a.SHOP_ID=c.ID + left join sys_users d on a.STAFF_ID=d.su_id + where b.STATU='欠款' and b.arrears!=0 + <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.vipName!=null and record.vipName!="" '> + and (a.vip_name like concat('%', #{record.vipName}, '%') or a.vip_no like concat('%', #{record.vipName}, '%') or a.phone like concat('%', #{record.vipName}, '%')) + </if> + group by a.id + <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 --> + <if test="pageVo.sort !=null and pageVo.order !=null"> + order by + ${pageVo.sort} ${pageVo.order} + </if> + <if test="pageVo.offset >=0 and pageVo.limit >0"> + limit + #{pageVo.offset},#{pageVo.limit} + </if> + </if> + </select> + <select id="selectVipArrearsStatisticsTotal" resultType="java.lang.Integer"> + select count(1) from ( + select + a.VIP_NAME vipName, + a.PHONE phone, + c.shop_short_name shopName, + sum(b.arrears) arrears, + count(1) cnt, + d.su_name staffName + from sys_vip_info a + inner join sys_order b on a.ID=b.VIP_ID + inner join sys_shop_info c on a.SHOP_ID=c.ID + left join sys_users d on a.STAFF_ID=d.su_id + where b.STATU='欠款' and b.arrears!=0 + <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.vipName!=null and record.vipName!="" '> + and (a.vip_name like concat('%', #{record.vipName}, '%') or a.vip_no like concat('%', #{record.vipName}, '%') or a.phone like concat('%', #{record.vipName}, '%')) + </if> + group by a.id + ) a + </select> </mapper> diff --git a/zq-erp/src/main/resources/static/js/plugin/kindeditor/plugins/baidumap/index.html b/zq-erp/src/main/resources/static/js/plugin/kindeditor/plugins/baidumap/index.html index e106d1a..76758d7 100644 --- a/zq-erp/src/main/resources/static/js/plugin/kindeditor/plugins/baidumap/index.html +++ b/zq-erp/src/main/resources/static/js/plugin/kindeditor/plugins/baidumap/index.html @@ -11,7 +11,7 @@ .iw_poi_title {color:#CC5522;font-size:14px;font-weight:bold;overflow:hidden;padding-right:13px;white-space:nowrap} .iw_poi_content {font:12px arial,sans-serif;overflow:visible;padding-top:4px;white-space:-moz-pre-wrap;word-wrap:break-word} </style> -<script type="text/javascript" src="http://api.map.baidu.com/api?key=&v=1.1&services=true"></script> +<script type="text/javascript" src="https://api.map.baidu.com/api?key=&v=1.1&services=true"></script> </head> <body onload="initMap();"> diff --git a/zq-erp/src/main/resources/static/js/plugin/kindeditor/plugins/baidumap/map.html b/zq-erp/src/main/resources/static/js/plugin/kindeditor/plugins/baidumap/map.html index b65ea1d..7029c94 100644 --- a/zq-erp/src/main/resources/static/js/plugin/kindeditor/plugins/baidumap/map.html +++ b/zq-erp/src/main/resources/static/js/plugin/kindeditor/plugins/baidumap/map.html @@ -7,7 +7,7 @@ html { height: 100% } body { height: 100%; margin: 0; padding: 0; background-color: #FFF } </style> - <script charset="utf-8" src="http://api.map.baidu.com/api?v=1.3"></script> + <script charset="utf-8" src="https://api.map.baidu.com/api?v=1.3"></script> <script> var map, geocoder; function initialize() { diff --git a/zq-erp/src/main/resources/static/plugin/beditor/dialogs/map/map.html b/zq-erp/src/main/resources/static/plugin/beditor/dialogs/map/map.html index 8bf8afe..f457982 100644 --- a/zq-erp/src/main/resources/static/plugin/beditor/dialogs/map/map.html +++ b/zq-erp/src/main/resources/static/plugin/beditor/dialogs/map/map.html @@ -4,7 +4,7 @@ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript" src="../internal.js"></script> - <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.1&services=true"></script> + <script type="text/javascript" src="https://api.map.baidu.com/api?v=1.1&services=true"></script> <style type="text/css"> .content{width:530px; height: 350px;margin: 10px auto;} .content table{width: 100%} diff --git a/zq-erp/src/main/resources/static/plugin/beditor/dialogs/map/show.html b/zq-erp/src/main/resources/static/plugin/beditor/dialogs/map/show.html index 329cfeb..929fdd8 100644 --- a/zq-erp/src/main/resources/static/plugin/beditor/dialogs/map/show.html +++ b/zq-erp/src/main/resources/static/plugin/beditor/dialogs/map/show.html @@ -14,7 +14,7 @@ overflow: hidden; } </style> - <script type="text/javascript" src="http://api.map.baidu.com/api?key=&v=1.1&services=true"></script> + <script type="text/javascript" src="https://api.map.baidu.com/api?key=&v=1.1&services=true"></script> </head> <body onload="initMap();"> diff --git a/zq-erp/src/main/resources/static/plugin/kindeditor/plugins/baidumap/index.html b/zq-erp/src/main/resources/static/plugin/kindeditor/plugins/baidumap/index.html index 313bc61..664bc4b 100644 --- a/zq-erp/src/main/resources/static/plugin/kindeditor/plugins/baidumap/index.html +++ b/zq-erp/src/main/resources/static/plugin/kindeditor/plugins/baidumap/index.html @@ -12,7 +12,7 @@ .iw_poi_title {color:#CC5522;font-size:14px;font-weight:bold;overflow:hidden;padding-right:13px;white-space:nowrap} .iw_poi_content {font:12px arial,sans-serif;overflow:visible;padding-top:4px;white-space:-moz-pre-wrap;word-wrap:break-word} </style> -<script type="text/javascript" src="http://api.map.baidu.com/api?key=&v=1.1&services=true"></script> +<script type="text/javascript" src="https://api.map.baidu.com/api?key=&v=1.1&services=true"></script> </head> <body onload="initMap();"> diff --git a/zq-erp/src/main/resources/static/plugin/kindeditor/plugins/baidumap/map.html b/zq-erp/src/main/resources/static/plugin/kindeditor/plugins/baidumap/map.html index b65ea1d..7029c94 100644 --- a/zq-erp/src/main/resources/static/plugin/kindeditor/plugins/baidumap/map.html +++ b/zq-erp/src/main/resources/static/plugin/kindeditor/plugins/baidumap/map.html @@ -7,7 +7,7 @@ html { height: 100% } body { height: 100%; margin: 0; padding: 0; background-color: #FFF } </style> - <script charset="utf-8" src="http://api.map.baidu.com/api?v=1.3"></script> + <script charset="utf-8" src="https://api.map.baidu.com/api?v=1.3"></script> <script> var map, geocoder; function initialize() { diff --git a/zq-erp/src/main/resources/templates/views/admin/hive-erp/shop/shopInfo-form.html b/zq-erp/src/main/resources/templates/views/admin/hive-erp/shop/shopInfo-form.html index 6f50cb3..8eeeea3 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive-erp/shop/shopInfo-form.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive-erp/shop/shopInfo-form.html @@ -13,7 +13,7 @@ th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script> <script type="text/javascript" th:src="@{/js/systools/MBase.js}"></script> - <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=Oego4OzlvPRPNyjCPTctXtuVNsSissOX"></script> + <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=Oego4OzlvPRPNyjCPTctXtuVNsSissOX"></script> </head> diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html index 6a86a31..e5a8395 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html @@ -911,7 +911,7 @@ this.achieveList.push({ orderItem: item, staff: this.loginUser, - saleId: this.loginUser.suId, + saleId: _this.loginUser.suUserType === 'admin' ? '' : this.loginUser.suId, goodsCash: item.payMoney, achieveType : _this.achieveTypeList[0].value, commission: 0, diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html index c2b4cda..654e4b9 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html @@ -150,6 +150,7 @@ <el-row style="padding: 10px 20px;"> <p>余额:<span v-if="vipInfo.balance != null">{{vipInfo.balance}}元</span></p> <p>积分:<span v-if="vipInfo.pointAll != null">{{vipInfo.pointAll}}</span></p> + <p>欠款金额:<span v-if="vipInfo.arrears != null">{{vipInfo.arrears}} 元</span></p> <p>累计消费金额:<span v-if="vipInfo.totalMoney != null">{{vipInfo.totalMoney.toFixed(2)}} 元</span></p> <p>累计消费次数:<span v-if="vipInfo.totalTimes != null">{{vipInfo.totalTimes}} 次</span></p> <p>上次消费时间:<span v-if="vipInfo.payTime">{{vipInfo.payTime}}</span></p> diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/orgment/shopInfo-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/orgment/shopInfo-form.html index 1b8cfba..d9702b7 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive/orgment/shopInfo-form.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive/orgment/shopInfo-form.html @@ -13,7 +13,7 @@ th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script> <script type="text/javascript" th:src="@{/js/systools/MBase.js}"></script> - <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=Oego4OzlvPRPNyjCPTctXtuVNsSissOX"></script> + <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=Oego4OzlvPRPNyjCPTctXtuVNsSissOX"></script> </head> diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/products/goods-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/products/goods-form.html index 224cacb..82445c2 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive/products/goods-form.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive/products/goods-form.html @@ -234,6 +234,17 @@ </el-col> </el-row> + <el-row> + <el-col :span="10"> + <el-form-item label="是否合作项目"> + <el-radio-group v-model="form.isCooperate"> + <el-radio label="2">否</el-radio> + <el-radio label="1">是</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <p class="el-big-title">销售设置</p> @@ -1145,6 +1156,7 @@ //表单数据 form: { isPresent: '否', + isCooperate: '2', staus: '上架', //产品组合 assembleGoods: [], diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-beauty-list.html b/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-beauty-list.html new file mode 100644 index 0000000..69f99f8 --- /dev/null +++ b/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-beauty-list.html @@ -0,0 +1,223 @@ + +<!DOCTYPE HTML> +<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml"> +<head> +<meta charset="utf-8"> +<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> +<meta name="renderer" content="webkit|ie-comp|ie-stand"> +<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> +<meta name="viewport" + content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta http-equiv="Cache-Control" content="no-siteapp" /> +<LINK rel="Bookmark" href="../images/favicon.ico"> +<!-- 本框架基本脚本和样式 --> + <script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script> + <script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script> + <script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script> + <script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script> + <link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}"> + <link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/> + <script type="text/javascript" th:src="@{/js/function/public.js}"></script> +</head> +<style> + .table-style { + margin: 20px 0; + padding: 20px 10px; + border: 1px solid #DCDFE6; + background-color: white; + } + .search-form { + background-color: white; + padding-top: 10px; + padding-left: 20px; + padding-bottom: 10px; + } +</style> +<body> +<div id="app" style=""> + <el-row class="search-form"> + <el-form ref="form" :model="form" inline> + <el-form-item label="日期范围"> + <el-date-picker v-model="form.timeRange" + type="datetimerange" + range-separator="至" + start-placeholder="开始日期" + end-placeholder="结束日期"> + </el-date-picker> + </el-form-item> + <el-form-item label="业绩归属人"> + <el-select v-model="form.beaultId" placeholder="请选择"> + <el-option v-for="item in achieveUsers" + :key="item.suId" + :label="item.suName" + :value="item.suId"></el-option> + </el-select> + </el-form-item> + <el-form-item label="会员"> + <el-input v-model="form.vipQueryKey"></el-input> + </el-form-item> + + <el-form-item label="门店"> + <el-select v-model="form.shopId" placeholder="请选择所属门店"> + <el-option v-for="item in shopList" + :key="item.id" + :label="item.shopName" + :value="item.id"> + </el-option> + </el-select> + </el-form-item> + <el-button type="primary" @click="search" >搜索</el-button> + <el-button @click="resetForm('form')">重置</el-button> +<!-- <el-button type="warning" @click="exportExcel">导出</el-button>--> + </el-form> + </el-row> + <el-row class="table-style"> + <el-table :data="tableData" style="width: 100%"> + <el-table-column type="index" width="30" fixed="left"></el-table-column> + <el-table-column prop="datatime" width="150" label="时间" fixed="left"></el-table-column> + <el-table-column prop="beautyName" label="美疗师" fixed="left"></el-table-column> + <el-table-column prop="vipName" label="客户" fixed="left"></el-table-column> + <el-table-column prop="isAppoint" label="是否指定客" width="100"> + <template slot-scope="scope"> + <span v-if="scope.row.isAppoint ==1 ">是</span> + <span v-else>否</span> + </template> + </el-table-column> + <el-table-column label="客流" align="center"> + <el-table-column prop="orderCnt" label="是否会员"> + <template slot-scope="scope"> + <span v-if="scope.row.orderCnt > 0">是</span> + <span v-else>否</span> + </template> + </el-table-column> + <el-table-column prop="arrivalWay" label="到店途径"></el-table-column> + <el-table-column prop="arriveCnt" label="当月到店次数" width="120"></el-table-column> + </el-table-column> + <el-table-column label="实操业绩" align="center"> + <el-table-column prop="projInfo" label="项目->消耗产品" width="230"></el-table-column> + <el-table-column prop="projCnt" label="项目数量"></el-table-column> + <el-table-column prop="ticheng" label="手工费"></el-table-column> + <el-table-column prop="consume" label="耗卡"></el-table-column> + </el-table-column> + <el-table-column label="现金业绩" align="center"> + <el-table-column prop="payMethods" label="消费类型" width="200"></el-table-column> + <el-table-column prop="orderType" label="特色项目"></el-table-column> + <el-table-column prop="teamPay" label="团购销售"></el-table-column> + <el-table-column prop="tcAndProjCash" label="卡项销售"></el-table-column> + <el-table-column prop="productCash" label="产品销售"></el-table-column> + <el-table-column prop="cardCash" label="会员充值"></el-table-column> + <el-table-column prop="cashPay" label="总业绩"></el-table-column> + <el-table-column prop="cardPay" label="划卡"></el-table-column> + </el-table-column> + </el-table> + <el-row style="margin-top: 10px;"> + <el-pagination + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="page.currentPage" + :page-sizes="[10, 20, 30, 50]" + :page-size="page.size" + layout="total, sizes, prev, pager, next, jumper" + :total="page.total"> + </el-pagination> + </el-row> + </el-row> +</div> +<script type="text/javascript" th:src="@{/plugin/layer/layer.js}"></script> +<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script> +<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script> +<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script> +<script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script> +<script type="text/javascript"> + var vue = new Vue({ + el : "#app", + data : { + tableData : [], + shopList : [], + form : { + timeRange : '', + vipQueryKey : '', + beaultId : '', + shopId : '' + }, + page : { + currentPage : 1, + size : 10, + total : 0 + } + }, + created : function() { + this.queryTableData(); + }, + methods : { + queryTableData() { + let _this = this; + let params = {}; + let page = _this.page; + let form = _this.form; + + if (form.timeRange) { + params.beginTime = form.timeRange?moment(form.timeRange[0]).format("YYYY-MM-DD HH:mm"):''; + params.endTime = form.timeRange?moment(form.timeRange[1]).format("YYYY-MM-DD HH:mm"):''; + } + params.vipQueryKey=form.vipQueryKey; + params.beaultId=form.beaultId; + params.limit = page.size; + params.offset = (page.currentPage - 1) * page.size; + AjaxProxy.requst({ + app: _this, + data: params, + url: basePath + "/admin/achieve/findDailyBeautyList", + callback: function (loj) { + _this.tableData = loj.rows; + _this.page.total = loj.total; + + _this.queryAchieveUsers(); + _this.queryShops(); + } + }); + }, + queryAchieveUsers() { + let _this = this; + AjaxProxy.requst({ + app: _this, + url: basePath + '/admin/getShopStaffByRoleName', + callback: function (data) { + _this.achieveUsers = data.rows; + } + }); + }, + resetForm(formName) { + // this.$refs[formName].resetFields(); + this.form = { + timeRange : '', + vipQueryKey : '', + beaultId : '' + } + }, + search() { + this.queryTableData(); + }, + queryShops() { + let _this = this; + AjaxProxy.requst({ + app: _this, + url: basePath + '/admin/shopInfo/findAllWithPermi', + callback: function (data) { + _this.shopList = data.rows; + } + }); + }, + handleSizeChange(val) { + this.page.size = val; + this.queryTableData(); + }, + handleCurrentChange(val) { + this.page.currentPage = val; + this.queryTableData(); + }, + } + }) +</script> +</body> +</html> diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/statistics/vip-arrears-list.html b/zq-erp/src/main/resources/templates/views/admin/hive/statistics/vip-arrears-list.html new file mode 100644 index 0000000..5798f72 --- /dev/null +++ b/zq-erp/src/main/resources/templates/views/admin/hive/statistics/vip-arrears-list.html @@ -0,0 +1,79 @@ + +<!DOCTYPE HTML> +<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml"> +<head> +<meta charset="utf-8"> +<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> +<meta name="renderer" content="webkit|ie-comp|ie-stand"> +<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> +<meta name="viewport" + content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta http-equiv="Cache-Control" content="no-siteapp" /> +<LINK rel="Bookmark" href="../images/favicon.ico"> +<!-- 本框架基本脚本和样式 --> +<script type="text/javascript" + th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script> +<script type="text/javascript" th:src="@{/js/systools/MBase.js}"></script> +</head> +<body class="gray-bg"> + <div class="ibox-content"> + <!-- 搜索框部分start --> + <form class="form-inline" id="serchform"> + <div class="row mb-10"> + <div class="col-sm-8"> + <button onclick="myGrid.serchData()" type="button" class="btn btn-info btn-sm"><i class="fa fa-search" ></i> 搜索</button> + <button onclick="myGrid.resetForm()" type="button" class="btn btn-default btn-sm"><i class="fa fa-refresh " ></i> 重置</button> + </div> + </div> + <div class="form-group mr-20"> + <input autocomplete="off" placeholder="会员姓名/手机/编号" name="vipName" type="text" class="form-control" /> + </div> + <div class="form-group mr-20"> + <label for="staffId">健康顾问</label> + <select class="form-control autoFull select2" + th:data-url="@{/admin/shopAll}" + data-value="suId" + id="staffId" + data-filed="suName" + name="staffId"> + <option value="">--请选择顾问--</option> + </select> + </div> + </form> + <div id="option-bar" > + <button matrix:btn="bedList-exportExcel" onclick="exportExcel()" type="button" class="btn btn-default btn-sm"><i class="fa fa-download" ></i> 导出</button> + </div> + <table id="mgrid" data-url="" > + <thead> + <tr> + <th data-formatter="MGrid.indexfn" data-align="center" data-width="30px" >序号</th> + <th data-field="vipName">会员名称</th> + <th data-field="phone">手机号码</th> + <th data-field="shopName">所属门店</th> + <th data-field="arrears" data-sortable="true">欠款金额</th> + <th data-field="cnt" data-sortable="true">欠款订单</th> + <th data-field="staffName">所属顾问</th> + </tr> + </thead> + </table> + </div> + <script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script><script type="text/javascript"> + var myGrid; + $(function(){ + //初始化项目属性搜索列表 + MTools.autoFullSelect(); + $(".select2").select2(); + + myGrid=MGrid.initGrid({ + url:basePath+"/admin/vipStatistics/vipArrearsStatistics" + }); + }); + + // function exportExcel(){ + // var param=MForm.toUrlParam("#serchform"); + // window.location.href=basePath+"/admin/moneyCardUseStatistics/exportSummaryItemDetail?"+param; + // } + + </script> +</body> +</html> diff --git a/zq-erp/src/main/resources/templates/views/admin/index.html b/zq-erp/src/main/resources/templates/views/admin/index.html index 219d21a..1e6217d 100644 --- a/zq-erp/src/main/resources/templates/views/admin/index.html +++ b/zq-erp/src/main/resources/templates/views/admin/index.html @@ -89,7 +89,7 @@ <i class="fa fa-user" ></i> <span style="line-height: 35px; color: #333; " th:utext="${session.userInfo.suName}+' | '"> </span> - <a style="line-height: 35px; color: #333; " target="_blank" href="https://www.yuque.com/books/share/70c39d28-6aac-4763-ae92-899ea5822a0d" > + <a style="line-height: 35px; color: #333; " target="_blank" href="https://www.yuque.com/books/share/7b10c3aa-f289-4f36-b402-5031fbd7f038" > <i class="fa fa-book" aria-hidden="true"></i> 帮助手册</a> </div> diff --git a/zq-erp/src/main/resources/templates/views/admin/shop/shopProduct-form.html b/zq-erp/src/main/resources/templates/views/admin/shop/shopProduct-form.html index d8ed383..96cde1a 100644 --- a/zq-erp/src/main/resources/templates/views/admin/shop/shopProduct-form.html +++ b/zq-erp/src/main/resources/templates/views/admin/shop/shopProduct-form.html @@ -807,13 +807,22 @@ sku.sort = sort; //推广提成 var selfPrice = tds.eq(length - 5).find("input").val(); + if(selfPrice == ""){ + selfPrice = 0; + } sku.selfPrice = selfPrice; //推广提成 var sealesPrice = tds.eq(length - 4).find("input").val(); + if(sealesPrice == ""){ + sealesPrice = 0; + } sku.sealesPrice = sealesPrice; //邀请提成 var invitationPrice = tds.eq(length - 3).find("input").val(); + if(invitationPrice == ""){ + invitationPrice = 0; + } sku.invitationPrice = invitationPrice; //兑换所需金额 diff --git a/zq-erp/src/main/resources/templates/views/common/login.html b/zq-erp/src/main/resources/templates/views/common/login.html index 3ae470b..5bc7de7 100644 --- a/zq-erp/src/main/resources/templates/views/common/login.html +++ b/zq-erp/src/main/resources/templates/views/common/login.html @@ -271,9 +271,9 @@ href="https://pubstorage-bucket.oss-cn-shenzhen.aliyuncs.com/tools/xp/49.0.2623.112_chrome_installer.exe " target="_blank">谷歌浏览器(推荐)</a><span>|</span><strong>打印控件:</strong><a href="https://pubstorage-bucket.oss-cn-shenzhen.aliyuncs.com/tools/CLodop_Setup_for_Win32NT_https_3.056Extend.exe" - target="_blank">下载控件</a><span>|</span><strong>APP:</strong><a + target="_blank">下载控件</a><span>|</span><!--<strong>APP:</strong><a href="http://testfile.hive.jyymatrix.cc/mobile/download.html" - target="_blank">下载APP客户端</a> + target="_blank">下载APP客户端</a>--> </p> </div> </div> diff --git a/zq-erp/src/main/resources/templates/views/super/sysCompany-form.html b/zq-erp/src/main/resources/templates/views/super/sysCompany-form.html index a393e47..7818f3a 100644 --- a/zq-erp/src/main/resources/templates/views/super/sysCompany-form.html +++ b/zq-erp/src/main/resources/templates/views/super/sysCompany-form.html @@ -70,10 +70,11 @@ </div> </div> <div class="form-group"> - <label class="col-sm-2 control-label">网站地址</label> + <label class="col-sm-2 control-label">网站地址<span + class="text-danger">*</span></label> <div class="col-sm-4"> - <input type="text" class="form-control" - th:value="${obj.comWebUrl }" name="comWebUrl" + <input type="text" class="form-control" + ignore="ignore" dataType="*1-100" th:value="${obj.comWebUrl }" name="comWebUrl" nullmsg="网站不能为空"> <div class="Validform_checktip"></div> </div> @@ -85,6 +86,17 @@ <div class="Validform_checktip"></div> </div> </div> + + <div class="form-group"> + <label class="col-sm-2 control-label">公司编码<span + class="text-danger">*</span></label> + <div class="col-sm-4"> + <input type="text" dataType="*1-100" class="form-control" + name="comCode" th:value="${obj.comCode }" + nullmsg="公司编码不能为空"> + <div class="Validform_checktip"></div> + </div> + </div> <div class="form-group"> <label class="col-sm-2 control-label">企业功能</label> <div class=" ztree col-sm-9" id="treeDemo"></div> diff --git a/zq-erp/src/main/resources/templates/views/super/sysCompany-list.html b/zq-erp/src/main/resources/templates/views/super/sysCompany-list.html index 9717af5..635c5fb 100644 --- a/zq-erp/src/main/resources/templates/views/super/sysCompany-list.html +++ b/zq-erp/src/main/resources/templates/views/super/sysCompany-list.html @@ -82,6 +82,7 @@ <th data-field="comBossTel">联系电话</th> <th data-field="comAddress">地址</th> <th data-field="comWebUrl" data-formatter="MGrid.getUrl">网站</th> + <th data-field="comCode">公司编码</th> <th data-align="center" data-width="150px" data-field="comId" data-formatter="buidOperate">操作 </th> diff --git a/zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java b/zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java index 82778ed..d261d4e 100644 --- a/zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java +++ b/zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java @@ -126,8 +126,6 @@ newSetting11.setCategory("店务配置"); newSettings.add(newSetting11); - - for (ParameterSettings newSetting : newSettings) { List<ParameterSettings> parameterSettings = parameterSettingsDao.selectByModel(newSetting); if(CollectionUtil.isEmpty(parameterSettings)){ -- Gitblit v1.9.1