From c71601fab220a0e1d497e0bed9f036faaae0626a Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 24 Feb 2021 18:03:13 +0800 Subject: [PATCH] 积分规则设置20210224 --- zq-erp/src/main/java/com/matrix/system/common/service/impl/SysCompanyServiceImpl.java | 492 +++++++++++++++++++++++++++--------------------------- 1 files changed, 248 insertions(+), 244 deletions(-) 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 1521bd2..0bce854 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,245 +1,249 @@ -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; - - - @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); - - 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 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); + + 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)); + + } + + + } \ No newline at end of file -- Gitblit v1.9.1