|  |  |  | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | 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)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|