Merge remote-tracking branch 'remotes/origin/dev' into test

yun-zuoyi
wei.peng 6 years ago
commit 33769c4171

@ -161,6 +161,9 @@ public interface ICoreMemTreeService {
@ApiOperation(value = "查询功能子节点",notes = "根据用户ID 查询功能树")
List<SysMenu> packTreeSysMenuByUserId(Long userId);
@ApiOperation(value = "查询功能子节点",notes = "根据用户ID 和 节点ID 查询功能树")
List<SysMenu> packTreeSysMenuByUserIdAndParentId(Long userId,Long parentId);
@ApiOperation(value = "查询功能子节点",notes = "根据用户ID 查询功能树")
List<SysMenu> packTreeSysMenu();

@ -82,6 +82,8 @@ public interface ISysOrganizeService {
@ApiOperation(value = "查询组织信息",notes = "根据ID查询组织信息")
SysOrganize getSysOrganizeById(Long id);
SysOrganize getSysOrganizeByCode(String code);
/**
*
* @return

@ -1,5 +1,6 @@
package cn.estsh.i3plus.core.apiservice.controller.base;
import cn.estsh.i3plus.core.api.iservice.busi.ICoreMemTreeService;
import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.SysLocaleLanguageService;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
@ -13,6 +14,7 @@ import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
@ -41,6 +43,9 @@ public class AuthController extends CoreBaseController {
@Autowired
private SysLocaleLanguageService localeLanguageService;
@Autowired
private ICoreMemTreeService memTreeService;
/**
*
*
@ -149,42 +154,18 @@ public class AuthController extends CoreBaseController {
@GetMapping(value = "/menu/find-module-list/{parentId}")
@ApiOperation(value = "获取登录用户功能权限信息", notes = "获取首页权限信息")
public ResultBean findModuleList(@PathVariable("parentId") String parentId) {
List<SysMenu> list = new ArrayList<>();
SysUser user = getSessionUser().getUser();
if (user != null) {
List<SysMenu> menus = user.getMenuList();
if (menus != null) {
// 封装模块信息
for (SysMenu menu : menus) {
if (menu != null && menu.getMenuType().equals(CommonEnumUtil.METHOD_LEVEL.MODULE.getValue())
&& parentId.equals(menu.getParentId().toString())) {
// 封装 功能信息
for (SysMenu sysMenu : menus) {
if (sysMenu != null && sysMenu.getMenuType().equals(CommonEnumUtil.METHOD_LEVEL.METHOD.getValue())
&& menu.getId().longValue() == sysMenu.getParentId().longValue()) {
if (!menu.getChildList().contains(sysMenu)) {
menu.getChildList().add(sysMenu);
}
}
}
menu.getChildList().sort(Comparator.comparing(SysMenu::getMenuSort).reversed().thenComparing(SysMenu::getMenuCode));
list.add(menu);
}
}
}
}
try {
ValidatorBean.checkIsNumber(parentId,"父节点不能为空");
if (list != null && list.size() > 0) {
// 内存排序 Sort 降序 code 升序
list.sort(Comparator.comparing(SysMenu::getMenuSort).reversed().thenComparing(SysMenu::getMenuCode));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(list);
} else {
return ResultBean.fail("操作失败").setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode()).setErrorMsg("菜单信息不存在");
List<SysMenu> result = memTreeService.packTreeSysMenuByUserIdAndParentId(getSessionUser().getUser().getId(), Long.parseLong(parentId));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(result);
} catch (ImppBusiException busExcep) {
LOGGER.error(busExcep.getErrorMsg() + "{}", busExcep.getErrorDetail(), busExcep);
return ResultBean.fail(busExcep);
} catch (Exception e) {
LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}", e.getMessage(), e);
return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
/**

@ -0,0 +1,62 @@
package cn.estsh.i3plus.core.apiservice.controller.base;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections4.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.AbstractEnvironment;
import org.springframework.core.env.Environment;
import org.springframework.core.env.MapPropertySource;
import org.springframework.core.env.PropertySource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.*;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @CreateDate : 2019-07-09 5:57
* @Modify:
**/
@RestController
@Api(description = "系统服务")
@RequestMapping("/system")
public class SystemController {
@Autowired
private Environment environment;
@GetMapping("/get-properties")
@ApiOperation(value = "获取系统配置信息", notes = "获取系统配置信息")
public ResultBean getProperties(){
try {
//条件验证
String[] profiles = environment.getDefaultProfiles();
Map<String, Object> map = new HashMap();
for(Iterator it = ((AbstractEnvironment) environment).getPropertySources().iterator(); it.hasNext(); ) {
PropertySource propertySource = (PropertySource) it.next();
if (propertySource instanceof MapPropertySource) {
MapPropertySource source = (MapPropertySource) propertySource;
for (String key : source.getPropertyNames()) {
map.put(key,source.getProperty(key));
}
}
}
return ResultBean.success("操作成功")
.setResultMap(map)
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -1,15 +1,20 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService;
import cn.estsh.i3plus.core.api.iservice.busi.ICoreMemTreeService;
import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysOrganizeService;
import cn.estsh.i3plus.icloud.wms.sdk.IWmsActionGroupCloud;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysConfig;
import cn.estsh.i3plus.pojo.platform.bean.SysOrganize;
import cn.estsh.i3plus.pojo.platform.bean.SysRefUserDepartment;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
@ -21,6 +26,7 @@ import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -52,6 +58,12 @@ public class SysOrganizeController extends CoreBaseController{
@Autowired
private ICoreMemTreeService coreMemTreeService;
@Autowired
private ISystemInitService systemInitService;
@Autowired
private IWmsActionGroupCloud wmsActionGroupCloud;
/**
*
* @param organize
@ -75,7 +87,14 @@ public class SysOrganizeController extends CoreBaseController{
}
organize = organizeService.insertSysOrganize(organize);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(organize);
String resutl = "组织已创建完成";
String copyMessage = copyWmsProcess(organize);
resutl = StringUtils.isNotBlank(copyMessage) ? resutl +","+ copyMessage : resutl;
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setMsg(resutl)
.setResultObject(organize);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
@ -272,4 +291,47 @@ public class SysOrganizeController extends CoreBaseController{
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
private String copyWmsProcess(SysOrganize organize){
String result = null;
// 检查是否复制 WMS 流程
String redisKey = CommonConstWords.REDIS_PREFIX_CACHE_CONFIG + "_" + CommonConstWords.CONFIG_ORGANIZE_INSERT_INIT_WMS_COPY_PROCESS;
SysConfig config = (SysConfig) systemInitService.getDataFromCache(redisKey, SysConfig.class);
LOGGER.info("Copy Wms Process Config:{}",config);
if(config != null){
if(config.getConfigValue().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue())){
// 获取目标组织代码
redisKey = CommonConstWords.REDIS_PREFIX_CACHE_CONFIG + "_" + CommonConstWords.CONFIG_ORGANIZE_INSERT_INIT_WMS_COPY_PROCESS_CODE;
config = (SysConfig) systemInitService.getDataFromCache(redisKey, SysConfig.class);
LOGGER.info("Copy Wms Process Organize Code Config:{}",config);
if(config != null){
// 获取组织信息
SysOrganize tmpOrganize = organizeService.getSysOrganizeByCode(config.getConfigValue());
// 检查组织信息是否完整
if(tmpOrganize != null){
// 复制WMS 业务流程
LOGGER.info("Copy Wms Process Template Code :{} Target Code:{}",tmpOrganize.getOrganizeCode(),organize.getOrganizeCode());
BaseResultBean resultBean = wmsActionGroupCloud.copyWmsActionGroupByOrganizeCode(tmpOrganize.getOrganizeCode(), organize.getOrganizeCode());
LOGGER.info("Copy Wms Process Template Code :{} Target Code:{} Result Bean:{}",tmpOrganize.getOrganizeCode(),organize.getOrganizeCode(),resultBean);
if(resultBean != null){
if(ResourceEnumUtil.MESSAGE.SUCCESS.getCode().equals(resultBean.getCode())){
result = "流程复制成功";
}else{
result = resultBean.getErrorMsg();
}
}else {
result = "复制流程失败,服务调用返回信息为空";
}
}
}
}
}
return result;
}
}

@ -610,13 +610,19 @@ public class CoreMemTreeService implements ICoreMemTreeService {
@Override
public List<SysMenu> packTreeSysMenuByUserId(Long userId) {
return packTreeSysMenuByUserIdAndParentId(userId, CommonEnumUtil.PARENT.DEFAULT.getValue());
}
@Override
public List<SysMenu> packTreeSysMenuByUserIdAndParentId(Long userId, Long parentId) {
List<SysRefUserRole> roleList = personnelService.findSysRefUserRole(userId);
if(roleList != null && roleList.size() > 0){
List<SysRefRoleMenu> refRoleMenuList = personnelService.findSysRefRoleMenuByRefUserRole(roleList);
if(refRoleMenuList != null && refRoleMenuList.size() > 0){
List<SysMenu> menuList = personnelService.findSysMenuList();
List<SysMenu> menuRootTree = packTreeSysMenu(menuList, CommonEnumUtil.PARENT.DEFAULT.getValue());
List<SysMenu> menuRootTree = packTreeSysMenu(menuList, parentId);
return packTreeSysMenuBySysRefUserOrganize(menuRootTree, refRoleMenuList);
}
}

@ -256,12 +256,13 @@ public class PersonnelServiceService implements IPersonnelService {
public List<SysMenu> findSysMenuList() {
LOGGER.info("平台账号权限 SysMenu ");
return menuRDao.findByProperty(
new String[]{"menuStatus","isDeleted","isValid"},
new Object[]{
CommonEnumUtil.DATA_STATUS.ENABLE.getValue(),
CommonEnumUtil.IS_DEAL.NO.getValue(),
CommonEnumUtil.IS_VAILD.VAILD.getValue()});
SysMenu menu = new SysMenu();
menu.setMenuStatus(CommonEnumUtil.DATA_STATUS.ENABLE.getValue());
menu.setOrderByParam("menuSort");
menu.setAscOrDesc(CommonEnumUtil.ASC_OR_DESC.DESC.getValue());
DdlPackBean packBean = CoreHqlPack.packDdlBeanSysMenu(menu);
return menuRDao.findByHqlWhere(packBean);
}
@Override

@ -13,6 +13,7 @@ import cn.estsh.i3plus.pojo.platform.bean.SysOrganize;
import cn.estsh.i3plus.pojo.platform.bean.SysRefUserDepartment;
import cn.estsh.i3plus.pojo.platform.repository.SysOrganizeRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
@ -111,7 +112,7 @@ public class SysOrganizeService implements ISysOrganizeService {
// 检查引用关系
personnelService.checkSysOrganizeRef(id);
// 删除数据
organizeRDao.deleteById(id);
organizeRDao.deleteWeaklyById(id, AuthUtil.getSessionUser().getUserName());
}
@Override
@ -130,7 +131,7 @@ public class SysOrganizeService implements ISysOrganizeService {
for (Long id : ids) {
personnelService.checkSysOrganizeRef(id);
}
organizeRDao.deleteByIds(ids);
organizeRDao.deleteWeaklyByIds(ids, AuthUtil.getSessionUser().getUserName());
}
}
@ -191,6 +192,11 @@ public class SysOrganizeService implements ISysOrganizeService {
}
@Override
public SysOrganize getSysOrganizeByCode(String code) {
return null;
}
@Override
public long getSysOrganizeCount() {
return organizeRDao.listCount();
}

@ -152,6 +152,7 @@ public class SysRoleService implements ISysRoleService {
ref.setMenuNameRdd(menu.getName());
ref.setMenuId(menu.getId());
ref.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
ref.setIsDeleted(CommonEnumUtil.IS_DEAL.NO.getValue());
ref.setMenuTypeRdd(menu.getMenuType());
refs.add(ref);

@ -5,9 +5,12 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import com.alibaba.fastjson.JSON;
import org.apache.commons.lang3.StringUtils;
import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;
/**
* @Description :
@ -30,15 +33,17 @@ public class OrderNoMakeUtil {
.build();
}
String[] dateTime = new SimpleDateFormat("yyyy-yy-MM-dd-HH-mm-ss").format(System.currentTimeMillis()).split("-");
StringBuilder orderNo = new StringBuilder(orderNoRule.getOrderNoRule());
String[] dateTime = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(System.currentTimeMillis()).split("-");
// 单号表达式
replace(orderNo, PlatformConstWords.YEAR, dateTime[0]);
replace(orderNo, PlatformConstWords.MONTH, dateTime[1]);
replace(orderNo, PlatformConstWords.DAY, dateTime[2]);
replace(orderNo, PlatformConstWords.HOUR, dateTime[3]);
replace(orderNo, PlatformConstWords.MINUTE, dateTime[4]);
replace(orderNo, PlatformConstWords.SECOND, dateTime[5]);
replace(orderNo, PlatformConstWords.YEAR_FULL, dateTime[0]);
replace(orderNo, PlatformConstWords.YEAR, dateTime[1]);
replace(orderNo, PlatformConstWords.MONTH, dateTime[2]);
replace(orderNo, PlatformConstWords.DAY, dateTime[3]);
replace(orderNo, PlatformConstWords.HOUR_OF_DAY, dateTime[4]);
replace(orderNo, PlatformConstWords.MINUTE, dateTime[5]);
replace(orderNo, PlatformConstWords.SECOND, dateTime[6]);
// 流水号长度补全表达式
String serialNoFormatStr = MessageFormat.format(PlatformConstWords.SERIAL_NO_FORMAT, orderNoRule.getSerialNoLength());
@ -69,12 +74,11 @@ public class OrderNoMakeUtil {
* @param param
* @return
*/
private static StringBuilder replace(StringBuilder no, String constant, String param) {
private static StringBuilder replace(StringBuilder no, String constant, Object param) {
int day = no.indexOf(constant);
if (day != -1) {
no.replace(day, day + constant.length(), param);
no.replace(day, day + constant.length(), param.toString());
}
return no;
}
}

Loading…
Cancel
Save