From 63a3c4db205ffd06325cfc6a6bebcf7d62eba65e Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 30 Nov 2021 17:20:06 +0800 Subject: [PATCH] Merge branch 'score_shop' into api_score_meger --- zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml | 6 zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java | 2 zq-erp/src/main/java/com/matrix/system/app/vo/ServiceTcVo.java | 12 zq-erp/src/main/java/com/matrix/system/common/service/impl/SysCompanyServiceImpl.java | 548 +++++++++++++++++++---------------- zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html | 12 zq-erp/src/main/resources/static/js/systools/AjaxProxyVue.js | 4 zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java | 3 zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProjVo.java | 12 zq-erp/src/main/java/com/matrix/system/common/dao/SysRolePwoerFnDao.java | 1 zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml | 4 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/updateServiceOrderTimeV2.html | 126 ++++++++ zq-erp/src/main/resources/mybatis/mapper/common/SysRolePwoerFnDao.xml | 19 + zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/updateServiceOrderTime.html | 7 zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java | 31 + zq-erp/src/main/java/com/matrix/system/hive/dto/ServiceOrderTimeDto.java | 34 ++ zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/service_all_list.html | 2 zq-erp/src/main/java/com/matrix/system/hive/vo/ServiceOrderInfoVo.java | 69 ++++ 17 files changed, 619 insertions(+), 273 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProjVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProjVo.java index c9b6e8b..6fb3473 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProjVo.java +++ b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProjVo.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import java.math.BigDecimal; import java.util.Date; /** @@ -25,6 +26,9 @@ @ApiModelProperty(value = "套餐来源,转让,购买") private String source; + + @ApiModelProperty(value = "划扣金额") + private BigDecimal price; @ApiModelProperty(value = "时长") private Integer timeLength; @@ -149,4 +153,12 @@ public void setBalance(Double balance) { this.balance = balance; } + + public BigDecimal getPrice() { + return price; + } + + public void setPrice(BigDecimal price) { + this.price = price; + } } diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceTcVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceTcVo.java index 67df2c9..fb43859 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceTcVo.java +++ b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceTcVo.java @@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -36,6 +37,9 @@ @ApiModelProperty(value = "若套餐为任选套餐 则判断是否无限次 Y是 N否") private String isInfinite; + + @ApiModelProperty(value = "来源") + private String source; @ApiModelProperty(value = "套餐内产品") List<ServiceProjVo> proj; @@ -150,4 +154,12 @@ public void setStatus(String status) { this.status = status; } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } } diff --git a/zq-erp/src/main/java/com/matrix/system/common/dao/SysRolePwoerFnDao.java b/zq-erp/src/main/java/com/matrix/system/common/dao/SysRolePwoerFnDao.java index 0d9a4cb..c72524b 100644 --- a/zq-erp/src/main/java/com/matrix/system/common/dao/SysRolePwoerFnDao.java +++ b/zq-erp/src/main/java/com/matrix/system/common/dao/SysRolePwoerFnDao.java @@ -41,4 +41,5 @@ public SysRolePwoerFn selectForUpdate(Long rpfId); + int deleteByFns(@Param("companyId") Long comId, @Param("list") List<String> deletedFn); } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/common/service/impl/SysCompanyServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/common/service/impl/SysCompanyServiceImpl.java index da1be03..bb496c6 100644 --- a/zq-erp/src/main/java/com/matrix/system/common/service/impl/SysCompanyServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/common/service/impl/SysCompanyServiceImpl.java @@ -1,250 +1,300 @@ -package com.matrix.system.common.service.impl; - -import com.matrix.core.constance.MatrixConstance; -import com.matrix.core.constance.SystemErrorCode; -import com.matrix.core.exception.GlobleException; -import com.matrix.core.pojo.PaginationVO; -import com.matrix.core.tools.ModelUtils; -import com.matrix.core.tools.StringUtils; -import com.matrix.core.tools.WebUtil; -import com.matrix.system.common.bean.*; -import com.matrix.system.common.dao.SysCompanyDao; -import com.matrix.system.common.dao.SysRoleDao; -import com.matrix.system.common.dao.SysRolePwoerFnDao; -import com.matrix.system.common.service.SysCompanyService; -import com.matrix.system.hive.bean.SysShopInfo; -import com.matrix.system.hive.bean.Warehouse; -import com.matrix.system.hive.dao.SysShopInfoDao; -import com.matrix.system.hive.dao.WarehouseDao; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -/** - * 公司管理 - * - * @author JIANGYOUYAO - * @email 935090232@qq.com - * @date Dec 11, 2017 - */ -@Service -public class SysCompanyServiceImpl implements SysCompanyService { - - @Autowired - private SysCompanyDao sysCompanyDao; - @Autowired - private SysRoleDao sysRoleDao; - @Autowired - private SysRolePwoerFnDao rolePwoerFnDao; - - @Autowired - private SysShopInfoDao shopInfoDao; - - - @Autowired - private InitCustomerDataDictionaryService initCustomerDataDictionaryService; - - - @Autowired - private InitShoppingGoodsCategoryService initShoppingGoodsCategoryService; - - - @Autowired - private InitRolePowerService initRolePowerService; - - @Autowired - private InitGoodsTypeService initGoodsTypeService; - - @Autowired - private InitShopProductCateService initShopProductCateService; - - @Autowired - private InitBusParameterSettingService initBusParameterSettingService; - - - @Transactional - @Override - public int add(SysCompany sysCompany) { - SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); - sysCompany.setCreateBy(user.getSuName()); - sysCompany.setUpdateBy(user.getSuName()); - int i= sysCompanyDao.insert(sysCompany); - SysShopInfo zbShop= addZbShop(sysCompany); - initCustomerDataDictionaryService.initCustomerDataDictionary(sysCompany); - initShoppingGoodsCategoryService.initShoppingGoodsCategory(sysCompany,zbShop); - initRolePowerService.initRolePower(sysCompany); - initGoodsTypeService.initRolePower(sysCompany); - initShopProductCateService.initShopProductCate(sysCompany); - initBusParameterSettingService.initBusParameterSetting(sysCompany); - initBusParameterSettingService.initBusParameterFenxiaoSetting(sysCompany); - - return i; - - } - - - @Autowired - private WarehouseDao warehouseDao; - /** - * 为新公司创建一个总部 - * @param sysCompany - */ - private SysShopInfo addZbShop(SysCompany sysCompany) { - SysShopInfo zbShopInfo=new SysShopInfo(); - zbShopInfo.setShopType(SysShopInfo.SHOP_TYPE_ZONGBU); - zbShopInfo.setShopName(sysCompany.getComName()+"(总部)"); - zbShopInfo.setCompanyId(sysCompany.getComId()); - zbShopInfo.setShopTel(sysCompany.getComTel()); - zbShopInfo.setShopShortName("总部"); - zbShopInfo.setIsOpenNet(SysShopInfo.CLOSE_NET); - zbShopInfo.setShopNo(StringUtils.getRandomString(10)); - shopInfoDao.insert(zbShopInfo); - - //新增一个总部仓库 - Warehouse warehouse=new Warehouse(); - warehouse.setCompanyId(sysCompany.getComId()); - warehouse.setName("总部仓库"); - warehouse.setShopId(zbShopInfo.getId()); - warehouse.setSort("1"); - warehouseDao.insert(warehouse); - return zbShopInfo; - } - - @Transactional(rollbackFor = Exception.class) - @Override - public int modifyByMap(SysCompany oldSysCompany, SysCompany newSysCompany) { - SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); - newSysCompany.setUpdateBy(user.getSuName()); - - updatePower(newSysCompany); - Map<String, Object> modifyMap = null; - try { - if (!ModelUtils.isModified(oldSysCompany, newSysCompany)) { - return MatrixConstance.DML_SUCCESSS; - } - - modifyMap = ModelUtils.comparePojo2Map(oldSysCompany, newSysCompany); - } catch (Exception e) { - throw new GlobleException(SystemErrorCode.DATA_UPDATE_FAIL, e, newSysCompany.getComName()); - } - if (modifyMap.size() > 0) { - modifyMap.put("comId", oldSysCompany.getComId()); - return sysCompanyDao.updateByMap(modifyMap); - } - return MatrixConstance.DML_SUCCESSS; - } - - /** - * 更新公司员工权限 - * - * @author JIANGYOUYAO - * @email 935090232@qq.com - * @date 2017年12月5日 - * @param newSysCompany - */ - private void updatePower(SysCompany newSysCompany) { - List<String> oldFunctions = null; - String functions = sysCompanyDao.selectById(newSysCompany.getComId()).getComFunctions(); - if (functions == null || functions.equals("")) { - oldFunctions = new ArrayList<>(); - } else { - oldFunctions = StringUtils - .strToCollToString(sysCompanyDao.selectById(newSysCompany.getComId()).getComFunctions(), ","); - } - List<String> newFunctions = new ArrayList<>(); - if (StringUtils.isNotBlank(newSysCompany.getComFunctions())) { - newFunctions = StringUtils.strToCollToString(newSysCompany.getComFunctions(), ","); - } - - for (String old : oldFunctions) { - // 如果新权限中不包含这个老的功能,则要更新改企业下所有的角色权限 - if (!newFunctions.contains(old)) { - SysRole role = new SysRole(); - role.setCompanyId(newSysCompany.getComId()); - List<SysRole> roles = sysRoleDao.selectByModel(role); - // 获取该公司下所有的权限信息 - List<SysRolePwoerFn> compalyRolePwoer = new ArrayList<>(); - for (SysRole tempRole : roles) { - SysRolePwoerFn r = new SysRolePwoerFn(); - r.setRoleId(tempRole.getRoleId()); - compalyRolePwoer.addAll(rolePwoerFnDao.selectByModel(r)); - } - // 记录要删除的id - List<String> delRolePwoer = new ArrayList<>(); - for (SysRolePwoerFn rolePwoer : compalyRolePwoer) { - // 如果有一个老权限则删除这个权限 - if (rolePwoer.getFnId() != null && rolePwoer.getFnId().equals(old)) { - delRolePwoer.add(rolePwoer.getRpfId()+""); - } - } - // 如果获取到了就删除 - if (!delRolePwoer.isEmpty()) { - rolePwoerFnDao.deleteByIds(delRolePwoer); - } - } - } - } - - @Override - public int modifyByModel(SysCompany sysCompany) { - - return sysCompanyDao.updateByModel(sysCompany); - - } - - @Override - public int remove(List<String> list) { - - return sysCompanyDao.deleteByIds(list); - - } - - @Override - public int removeById(String comId) { - - return sysCompanyDao.deleteById(Long.parseLong(comId)); - - } - - @Override - public int removeByModel(SysCompany sysCompany) { - - return sysCompanyDao.deleteByModel(sysCompany); - - } - - @Override - public List<SysCompany> findInPage(SysCompany sysCompany, PaginationVO pageVo) { - - return sysCompanyDao.selectInPage(sysCompany, pageVo); - - } - - @Override - public List<SysCompany> findByModel(SysCompany sysCompany) { - - return sysCompanyDao.selectByModel(sysCompany); - - } - - @Override - public int findTotal(SysCompany sysCompany) { - - return sysCompanyDao.selectTotalRecord(sysCompany); - - } - - @Override - public SysCompany findById(String comId) { - - return sysCompanyDao.selectById(Long.parseLong(comId)); - - } - - - +package com.matrix.system.common.service.impl; + +import cn.hutool.crypto.SecureUtil; +import cn.hutool.json.JSONUtil; +import com.matrix.core.constance.MatrixConstance; +import com.matrix.core.constance.SystemErrorCode; +import com.matrix.core.exception.GlobleException; +import com.matrix.core.pojo.PaginationVO; +import com.matrix.core.tools.LogUtil; +import com.matrix.core.tools.ModelUtils; +import com.matrix.core.tools.StringUtils; +import com.matrix.core.tools.WebUtil; +import com.matrix.system.app.authority.AppAuthorityManager; +import com.matrix.system.common.authority.DefaultAuthorityManager; +import com.matrix.system.common.bean.SysCompany; +import com.matrix.system.common.bean.SysRole; +import com.matrix.system.common.bean.SysRolePwoerFn; +import com.matrix.system.common.bean.SysUsers; +import com.matrix.system.common.constance.AppConstance; +import com.matrix.system.common.dao.SysCompanyDao; +import com.matrix.system.common.dao.SysRoleDao; +import com.matrix.system.common.dao.SysRolePwoerFnDao; +import com.matrix.system.common.init.LocalCache; +import com.matrix.system.common.service.SysCompanyService; +import com.matrix.system.common.service.SysUsersService; +import com.matrix.system.hive.bean.SysShopInfo; +import com.matrix.system.hive.bean.Warehouse; +import com.matrix.system.hive.dao.SysShopInfoDao; +import com.matrix.system.hive.dao.WarehouseDao; +import com.matrix.system.hive.plugin.util.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * 公司管理 + * + * @author JIANGYOUYAO + * @email 935090232@qq.com + * @date Dec 11, 2017 + */ +@Service +public class SysCompanyServiceImpl implements SysCompanyService { + + @Autowired + private SysCompanyDao sysCompanyDao; + @Autowired + private SysRoleDao sysRoleDao; + @Autowired + private SysRolePwoerFnDao rolePwoerFnDao; + + @Autowired + private SysShopInfoDao shopInfoDao; + + + @Autowired + private InitCustomerDataDictionaryService initCustomerDataDictionaryService; + + + @Autowired + private InitShoppingGoodsCategoryService initShoppingGoodsCategoryService; + + + @Autowired + private InitRolePowerService initRolePowerService; + + @Autowired + private InitGoodsTypeService initGoodsTypeService; + + @Autowired + private InitShopProductCateService initShopProductCateService; + + @Autowired + private InitBusParameterSettingService initBusParameterSettingService; + + + @Transactional + @Override + public int add(SysCompany sysCompany) { + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + sysCompany.setCreateBy(user.getSuName()); + sysCompany.setUpdateBy(user.getSuName()); + int i = sysCompanyDao.insert(sysCompany); + SysShopInfo zbShop = addZbShop(sysCompany); + initCustomerDataDictionaryService.initCustomerDataDictionary(sysCompany); + initShoppingGoodsCategoryService.initShoppingGoodsCategory(sysCompany, zbShop); + initRolePowerService.initRolePower(sysCompany); + initGoodsTypeService.initRolePower(sysCompany); + initShopProductCateService.initShopProductCate(sysCompany); + initBusParameterSettingService.initBusParameterSetting(sysCompany); + initBusParameterSettingService.initBusParameterFenxiaoSetting(sysCompany); + + return i; + + } + + + @Autowired + private WarehouseDao warehouseDao; + + /** + * 为新公司创建一个总部 + * + * @param sysCompany + */ + private SysShopInfo addZbShop(SysCompany sysCompany) { + SysShopInfo zbShopInfo = new SysShopInfo(); + zbShopInfo.setShopType(SysShopInfo.SHOP_TYPE_ZONGBU); + zbShopInfo.setShopName(sysCompany.getComName() + "(总部)"); + zbShopInfo.setCompanyId(sysCompany.getComId()); + zbShopInfo.setShopTel(sysCompany.getComTel()); + zbShopInfo.setShopShortName("总部"); + zbShopInfo.setIsOpenNet(SysShopInfo.CLOSE_NET); + zbShopInfo.setShopNo(StringUtils.getRandomString(10)); + shopInfoDao.insert(zbShopInfo); + + //新增一个总部仓库 + Warehouse warehouse = new Warehouse(); + warehouse.setCompanyId(sysCompany.getComId()); + warehouse.setName("总部仓库"); + warehouse.setShopId(zbShopInfo.getId()); + warehouse.setSort("1"); + warehouseDao.insert(warehouse); + return zbShopInfo; + } + + @Transactional(rollbackFor = Exception.class) + @Override + public int modifyByMap(SysCompany oldSysCompany, SysCompany newSysCompany) { + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + newSysCompany.setUpdateBy(user.getSuName()); + + updatePower(newSysCompany); + Map<String, Object> modifyMap = null; + try { + if (!ModelUtils.isModified(oldSysCompany, newSysCompany)) { + return MatrixConstance.DML_SUCCESSS; + } + + modifyMap = ModelUtils.comparePojo2Map(oldSysCompany, newSysCompany); + } catch (Exception e) { + throw new GlobleException(SystemErrorCode.DATA_UPDATE_FAIL, e, newSysCompany.getComName()); + } + if (modifyMap.size() > 0) { + modifyMap.put("comId", oldSysCompany.getComId()); + return sysCompanyDao.updateByMap(modifyMap); + } + return MatrixConstance.DML_SUCCESSS; + } + + /** + * 更新公司员工权限 + * + * @param newSysCompany + * @author JIANGYOUYAO + * @email 935090232@qq.com + * @date 2017年12月5日 + */ + private void updatePower(SysCompany newSysCompany) { + List<String> oldFunctions = null; + String functions = sysCompanyDao.selectById(newSysCompany.getComId()).getComFunctions(); + if (functions == null || functions.equals("")) { + oldFunctions = new ArrayList<>(); + } else { + oldFunctions = StringUtils + .strToCollToString(sysCompanyDao.selectById(newSysCompany.getComId()).getComFunctions(), ","); + } + List<String> newFunctions = new ArrayList<>(); + if (StringUtils.isNotBlank(newSysCompany.getComFunctions())) { + newFunctions = StringUtils.strToCollToString(newSysCompany.getComFunctions(), ","); + } + + Collections.sort(newFunctions); + Collections.sort(oldFunctions); + if (Objects.equals(JSONUtil.toJsonStr(newFunctions), JSONUtil.toJsonStr(oldFunctions))) { + //没有更新的权限 + return; + } + + List<String> finalNewFunctions = newFunctions; + List<String> deletedFn = oldFunctions.stream().map(old -> { + if (finalNewFunctions.stream().noneMatch(newFn -> Objects.equals(newFn, old))) { + return old; + } else { + return ""; + } + }).filter(item->StringUtils.isNotBlank(item)).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(deletedFn)){ + rolePwoerFnDao.deleteByFns(newSysCompany.getComId(),deletedFn); + //有更新权限清空缓存 + SysUsers sysUsers = new SysUsers(); + sysUsers.setCompanyId(newSysCompany.getComId()); + sysUsers.setSuValid(AppConstance.RECORD_VALID); + List<SysUsers> users = sysUsersService.findByModel(sysUsers); + users.forEach(user -> { + String userKey = SecureUtil.md5(user.getSuId() + ""); + LocalCache.remove(DefaultAuthorityManager.USER_POWER_REDISKEY_PC + userKey); + LocalCache.remove(AppAuthorityManager.USER_POWER_REDISKEY_APP + userKey); + }); + } + + + +/* for (String old : oldFunctions) { + // 如果新权限中不包含这个老的功能,则要更新改企业下所有的角色权限 + if (!newFunctions.contains(old)) { + SysRole role = new SysRole(); + role.setCompanyId(newSysCompany.getComId()); + List<SysRole> roles = sysRoleDao.selectByModel(role); + // 获取该公司下所有的权限信息 + List<SysRolePwoerFn> compalyRolePwoer = new ArrayList<>(); + for (SysRole tempRole : roles) { + SysRolePwoerFn r = new SysRolePwoerFn(); + r.setRoleId(tempRole.getRoleId()); + compalyRolePwoer.addAll(rolePwoerFnDao.selectByModel(r)); + } + // 记录要删除的id + List<String> delRolePwoer = new ArrayList<>(); + for (SysRolePwoerFn rolePwoer : compalyRolePwoer) { + // 如果有一个老权限则删除这个权限 + if (rolePwoer.getFnId() != null && rolePwoer.getFnId().equals(old)) { + delRolePwoer.add(rolePwoer.getRpfId() + ""); + } + } + // 如果获取到了就删除 + if (!delRolePwoer.isEmpty()) { + rolePwoerFnDao.deleteByIds(delRolePwoer); + } + } + }*/ + + + + } + + @Autowired + SysUsersService sysUsersService; + + @Override + public int modifyByModel(SysCompany sysCompany) { + + return sysCompanyDao.updateByModel(sysCompany); + + } + + @Override + public int remove(List<String> list) { + + return sysCompanyDao.deleteByIds(list); + + } + + @Override + public int removeById(String comId) { + + return sysCompanyDao.deleteById(Long.parseLong(comId)); + + } + + @Override + public int removeByModel(SysCompany sysCompany) { + + return sysCompanyDao.deleteByModel(sysCompany); + + } + + @Override + public List<SysCompany> findInPage(SysCompany sysCompany, PaginationVO pageVo) { + + return sysCompanyDao.selectInPage(sysCompany, pageVo); + + } + + @Override + public List<SysCompany> findByModel(SysCompany sysCompany) { + + return sysCompanyDao.selectByModel(sysCompany); + + } + + @Override + public int findTotal(SysCompany sysCompany) { + + return sysCompanyDao.selectTotalRecord(sysCompany); + + } + + @Override + public SysCompany findById(String comId) { + + return sysCompanyDao.selectById(Long.parseLong(comId)); + + } + + } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java index a60adcd..68cd634 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java @@ -239,7 +239,7 @@ public @ResponseBody ModelAndView printOrder(SysOrder order) throws GlobleException { ModelAndView mv = new ModelAndView("admin/hive/beautySalon/print-order"); - SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); + SysUsers user = getMe(); String comRegisterCode = companyDao.selectById(user.getCompanyId()).getComRegisterCode(); if (StringUtils.isNotBlank(comRegisterCode)) { mv.addObject("page", comRegisterCode); diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java index 86db596..f2e5c36 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java @@ -1,5 +1,6 @@ package com.matrix.system.hive.action; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.matrix.core.anotations.RemoveRequestToken; @@ -26,17 +27,16 @@ import com.matrix.system.constance.Dictionary; import com.matrix.system.hive.bean.*; import com.matrix.system.hive.dao.*; +import com.matrix.system.hive.dto.ServiceOrderTimeDto; import com.matrix.system.hive.service.*; +import com.matrix.system.hive.vo.ServiceOrderInfoVo; import io.swagger.annotations.ApiOperation; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; 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.ResponseBody; +import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; @@ -143,6 +143,20 @@ result.setStatus(AjaxResult.STATUS_SUCCESS); return result; + } + + /** + * 根据id查询服务单简单信息 + */ + @RequestMapping(value = "/findServiceOrderInfoVo/{id}") + public @ResponseBody + AjaxResult findServiceOrderInfoVo(@PathVariable Long id) { + // 获取服务单信息 + SysProjServices projServices = sysProjServicesService.findById(id); + + ServiceOrderInfoVo serviceOrderInfoVo= BeanUtil.copyProperties(projServices,ServiceOrderInfoVo.class); + + return AjaxResult.buildSuccessInstance(serviceOrderInfoVo); } @@ -429,13 +443,12 @@ */ @RequestMapping(value = "/updateOrderTime") public @ResponseBody - AjaxResult updateOrderTime(SysProjServices serviceQuery) { - SysProjServices services = sysProjServicesDao.selectById(serviceQuery.getId()); - sysProjServicesDao.updateOrderTime(serviceQuery.getConsumeTime(), serviceQuery.getId()); + AjaxResult updateOrderTime(@RequestBody ServiceOrderTimeDto serviceOrderTimeDto) { + sysProjServicesDao.updateOrderTime(serviceOrderTimeDto); // 更新业绩时间 AchieveNew achieveNew = new AchieveNew(); - achieveNew.setServiceOrderId(serviceQuery.getId()); - achieveNew.setDatatime(serviceQuery.getConsumeTime()); + achieveNew.setServiceOrderId(serviceOrderTimeDto.getId()); + achieveNew.setDatatime(serviceOrderTimeDto.getConsumeTime()); achieveNewService.modifyAchieveTime(achieveNew); return new AjaxResult(AjaxResult.STATUS_SUCCESS, "修改成功"); } diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java index 4266fb8..588612c 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java @@ -4,6 +4,7 @@ import com.matrix.system.app.dto.ServiceOrderListDto; import com.matrix.system.app.vo.ServiceOrderListVo; import com.matrix.system.hive.bean.SysProjServices; +import com.matrix.system.hive.dto.ServiceOrderTimeDto; import com.matrix.system.shopXcx.api.dto.ErpServiceOrderListDto; import com.matrix.system.shopXcx.api.vo.ErpServiceOrderListVo; import org.apache.ibatis.annotations.Param; @@ -36,7 +37,7 @@ public SysProjServices selectById(Long id); - public void updateOrderTime(@Param("consumeTime") Date createTime, @Param("id") Long id); + public void updateOrderTime(@Param("serviceOrderTimeDto") ServiceOrderTimeDto serviceOrderTimeDto); List<ServiceOrderListVo> selectApiServiceOrderListInPage(@Param("record") ServiceOrderListDto serviceOrderListDto, @Param("pageVo") PaginationVO pageVo); diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dto/ServiceOrderTimeDto.java b/zq-erp/src/main/java/com/matrix/system/hive/dto/ServiceOrderTimeDto.java new file mode 100644 index 0000000..bedaf81 --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/hive/dto/ServiceOrderTimeDto.java @@ -0,0 +1,34 @@ +package com.matrix.system.hive.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.matrix.core.tools.DateUtil; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class ServiceOrderTimeDto { + + /** + * 服务单id + */ + private Long id; + /** + * 预约时间 + */ + @DateTimeFormat(pattern = DateUtil.DATE_FORMAT_MM) + private Date yyTime; + + /** + * 订单创建时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private Date createTime; + /** + * 订单划扣时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private Date consumeTime; + +} diff --git a/zq-erp/src/main/java/com/matrix/system/hive/vo/ServiceOrderInfoVo.java b/zq-erp/src/main/java/com/matrix/system/hive/vo/ServiceOrderInfoVo.java new file mode 100644 index 0000000..a43e901 --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/hive/vo/ServiceOrderInfoVo.java @@ -0,0 +1,69 @@ +package com.matrix.system.hive.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.matrix.core.tools.DateUtil; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * 简单服务单信息展示对象不含明细 + */ +@Data +public class ServiceOrderInfoVo { + + /** + * id + */ + private Long id; + + /** + * 编号 + */ + private String serviceNo; + + /** + * 服务单金额 + */ + private Double money; + /** + * 预约时间 + */ + @DateTimeFormat(pattern = DateUtil.DATE_FORMAT_MM) + private Date yyTime; + + /** + * 订单创建时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private Date createTime; + /** + * 订单划扣时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private Date consumeTime; + + /** + * 开始时间 + */ + @DateTimeFormat(pattern = DateUtil.DATE_FORMAT_MM) + private Date startTime; + /** + * 结束时间 + */ + @DateTimeFormat(pattern = DateUtil.DATE_FORMAT_MM) + private Date endTime; + /** + * 超时时间 + */ + private String isOverTime; + + /** + * 服务状态 0.待预约 1.预约失败,2预约成功待处理,3需配料,4配料中,5配料完成,6,服务中,7服务完成 + */ + private String state; + + + +} diff --git a/zq-erp/src/main/resources/mybatis/mapper/common/SysRolePwoerFnDao.xml b/zq-erp/src/main/resources/mybatis/mapper/common/SysRolePwoerFnDao.xml index 3c5c8b8..a1b0ef2 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/common/SysRolePwoerFnDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/common/SysRolePwoerFnDao.xml @@ -150,10 +150,21 @@ </if> </where> </delete> - - - - <!-- 分页查询 --> + <delete id="deleteByFns"> + DELETE a + FROM + sys_role_pwoer_fn a , sys_role b + WHERE + a.role_id = b.role_id + and b.company_id=#{companyId} + and a.fn_id in <foreach collection="list" index="index" item="item" open="(" + separator="," close=")"> + #{item} + </foreach> + </delete> + + + <!-- 分页查询 --> <select id="selectInPage" resultMap="SysRolePwoerFnMap"> select rpf_id, diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml index e6ed5bb..558112d 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml @@ -140,7 +140,11 @@ <!-- 根据id更新 部分更新 --> <update id="updateOrderTime"> - UPDATE sys_proj_services set consume_time=#{consumeTime} WHERE id=#{id} + UPDATE sys_proj_services set + consume_time=#{serviceOrderTimeDto.consumeTime}, + yy_time=#{serviceOrderTimeDto.yyTime}, + create_time=#{serviceOrderTimeDto.createTime} + WHERE id=#{serviceOrderTimeDto.id} </update> <!-- 设置服务单为已通知 --> diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml index 957d259..17b4ddf 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml @@ -892,6 +892,8 @@ <collection property="taocanProjUse" ofType="com.matrix.system.hive.bean.SysProjUse"> <id property="id" column="proj_info_id" /> <result property="projName" column="proj_proj_name"/> + <result property="source" column="proj_source"/> + <result property="price" column="proj_price"/> <result property="failTime" column="proj_FAIL_TIME"/> <result property="surplusCount" column="proj_SURPLUS_COUNT"/> <result property="timeLength" column="proj_time_length"/> @@ -913,6 +915,8 @@ e.SURPLUS_COUNT proj_SURPLUS_COUNT, e.id proj_info_id, e.proj_id proj_projId, + e.source proj_source, + e.price proj_price, e.status proj_status, f.time_length proj_time_length, f.img proj_img diff --git a/zq-erp/src/main/resources/static/js/systools/AjaxProxyVue.js b/zq-erp/src/main/resources/static/js/systools/AjaxProxyVue.js index ef97725..878dd39 100644 --- a/zq-erp/src/main/resources/static/js/systools/AjaxProxyVue.js +++ b/zq-erp/src/main/resources/static/js/systools/AjaxProxyVue.js @@ -121,6 +121,10 @@ var MTools = { + closeIframe: function () { + parent.layer.close(parent.layer.getFrameIndex(window.name)); + }, + /** 返回一个随机字符串 */ uuid : function() { diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/service_all_list.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/service_all_list.html index 106f1be..6f356c3 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/service_all_list.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/service_all_list.html @@ -218,7 +218,7 @@ title: "修改订单时间", maxmin: true, area: [MUI.SIZE_L, '500px'], - content: [basePath + '/admin/projService/toServiceOrderUpdateTime?id=' + id] + content: [basePath + '/admin/redirect/hive/beautySalon/updateServiceOrderTimeV2?id=' +id] }); } diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/updateServiceOrderTime.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/updateServiceOrderTime.html index 867bbc2..1287221 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/updateServiceOrderTime.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/updateServiceOrderTime.html @@ -1,9 +1,4 @@ - - - - - -<!DOCTYPE HTML> +<!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8"> diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/updateServiceOrderTimeV2.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/updateServiceOrderTimeV2.html new file mode 100644 index 0000000..5f36762 --- /dev/null +++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/updateServiceOrderTimeV2.html @@ -0,0 +1,126 @@ +<!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"/> + <!-- 本框架基本脚本和样式 --> + <script type="text/javascript" th:src="@{/js/systools/MBaseVue.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"/> + +</head> +<body> +<div class="ibox-content" id="app" v-cloak > + <el-form :model="serviceOrder" ref="form" label-width="100px" class="demo-form"> + + + <el-form-item label="创建时间"> + <el-date-picker v-model="serviceOrder.createTime" type="datetime"></el-date-picker> + </el-form-item> + + + <el-form-item label="预约时间"> + <el-date-picker v-model="serviceOrder.yyTime" type="datetime"></el-date-picker> + </el-form-item> + + + <el-form-item label="划扣时间"> + <el-date-picker v-model="serviceOrder.consumeTime" type="datetime" ></el-date-picker> + <span>修改划扣时间才会同步修改服务单业绩</span> + </el-form-item> + + <el-form-item> + <el-button type="primary" @click="submitForm('form')" >保存</el-button> + <el-button @click="closeFram()">关闭</el-button> + </el-form-item> + + </el-form> +</div> +</body> +<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="@{/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 src="https://cdn.jsdelivr.net/npm/@riophae/vue-treeselect@^0.4.0/dist/vue-treeselect.umd.min.js"></script> +<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@riophae/vue-treeselect@^0.4.0/dist/vue-treeselect.min.css"> + + +<script> + var id = $.query.get("id"); + + + var app = new Vue({ + el: '#app', + data: { + + //表单数据 + serviceOrder:{} + + }, + + /** + * 初始化数据表 + */ + created: function () { + this.loadData() + }, + + methods: { + loadData(){ + let _this=this; + AjaxProxy.requst({ + app: _this, + url: basePath + '/admin/projService/findServiceOrderInfoVo/'+id, + callback: function (data) { + _this.serviceOrder = data.data; + } + }); + }, + submitForm(){ + let _this=this; + let data={ + id:this.serviceOrder.id, + yyTime:this.serviceOrder.yyTime, + createTime:this.serviceOrder.createTime, + consumeTime:this.serviceOrder.consumeTime + } + AjaxProxy.requst({ + app: _this, + data: data, + contentType: 'application/json', + url: basePath + '/admin/projService/updateOrderTime', + callback: function (data) { + + _this.$message.success("修改成功"); + if(parent.myGrid){ + parent.myGrid.serchData() + } + if(parent.app){ + parent.app.serviceOrderQuery(); + } + setInterval(MTools.closeIframe(), 1000); + + } + }); + + }, + closeFram: function () { + + parent.layer.close(parent.layer.getFrameIndex(window.name)); + + }, + + } + + }) +</script> + +</body> +</html> + 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 654e4b9..393eb60 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 @@ -124,10 +124,12 @@ </el-col> </el-col> <el-col :span="8" style="float: right; margin-right: 20px;"> + <el-button type="primary" plain @click="recharge">充值</el-button> <el-button type="warning" plain @click="addOrder">开单</el-button> <el-button type="success" plain @click="addServiceOrder">开服务单</el-button> <el-button type="info" plain @click="exportExcel">导出项目</el-button> + <el-button type="primary" plain @click="openAdd">会员注册</el-button> </el-col> </el-header> <el-container> @@ -820,6 +822,14 @@ } }, methods : { + openAdd(){ + layer.full(layer.open({ + type : 2, + title : "添加会员信息", + area : [ MUI.SIZE_L, '450px' ], + content : [ basePath+'/admin/vipInfo/editForm' ] + })); + }, //打开订单详情页面 openOrder(index,row){ layer.full(layer.open({ @@ -1243,7 +1253,7 @@ title: "修改订单时间", maxmin: true, area: [MUI.SIZE_L, '500px'], - content: [basePath + '/admin/projService/toServiceOrderUpdateTime?id=' + row.id] + content: [basePath + '/admin/redirect/hive/beautySalon/updateServiceOrderTimeV2?id=' + row.id] }); }, /********* 服务单tab end ***********/ -- Gitblit v1.9.1