Merge branch 'develop' of http://221.226.25.34:3000/liang.cheng/weaver-hrm-organization into feature/cl
This commit is contained in:
commit
0beebdfc70
|
|
@ -29,4 +29,7 @@ public @interface OrganizationTableColumn {
|
|||
|
||||
// 额外参数
|
||||
String otherPara() default "";
|
||||
|
||||
// 多语言转换
|
||||
boolean multiLanguage() default false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ public class OrganizationWeaTable<T> extends WeaTable {
|
|||
super.setTableType(weaTableTypeEnum);
|
||||
CheckboxPopedom checkPopedom = table.checkboxPopedom();
|
||||
WeaTableCheckboxpopedom checkboxpopedom = new WeaTableCheckboxpopedom();
|
||||
if (checkPopedom != null && !"".equals(checkPopedom.showmethod())){
|
||||
if (checkPopedom != null && !"".equals(checkPopedom.showmethod())) {
|
||||
checkboxpopedom.setShowmethod(checkPopedom.showmethod());
|
||||
checkboxpopedom.setPopedompara(checkPopedom.popedompara());
|
||||
}
|
||||
|
|
@ -114,8 +114,13 @@ public class OrganizationWeaTable<T> extends WeaTable {
|
|||
weaTableColumn.setTransmethod(transmethod);
|
||||
}
|
||||
String otherPara = columnAnn.otherPara();
|
||||
if(StringUtils.isNotBlank(otherPara)) {
|
||||
if (StringUtils.isNotBlank(otherPara)) {
|
||||
weaTableColumn.setOtherpara(otherPara);
|
||||
} else {
|
||||
// 未设置其他参数,但是设置了多语言,自动添加其它参数为语言类型
|
||||
if (columnAnn.multiLanguage()) {
|
||||
weaTableColumn.setOtherpara(String.valueOf(user.getLanguage()));
|
||||
}
|
||||
}
|
||||
if (!display) {
|
||||
weaTableColumn.setDisplay(WeaBoolAttr.FALSE);
|
||||
|
|
|
|||
|
|
@ -128,16 +128,19 @@ public class DepartmentBO {
|
|||
if (CollectionUtils.isEmpty(departmentPOs)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
SubCompanyComInfo subCompanyComInfo = new SubCompanyComInfo();
|
||||
DepartmentComInfo departmentComInfo = new DepartmentComInfo();
|
||||
List<SingleDeptTreeVO> singleDeptTreeVOS = departmentPOs.stream().map(e ->
|
||||
SingleDeptTreeVO
|
||||
.builder()
|
||||
.id(e.getId())
|
||||
.departmentCode(e.getDepartmentCode())
|
||||
//.departmentCode(e.getDepartmentCode())
|
||||
.departmentMark(e.getDepartmentMark())
|
||||
.departmentName(e.getDepartmentName())
|
||||
.subCompanyName((null == e.getSubCompanyId1() || 0 == e.getSubCompanyId1()) ? "" : subCompanyComInfo.getSubCompanyname(Util.null2String(e.getSubCompanyId1())))
|
||||
.subCompanyId1(e.getSubCompanyId1())
|
||||
.supDepId(e.getSupDepId())
|
||||
.supDepName(null == e.getSupDepId() || e.getSupDepId() == 0 ? "" : getDeptNameById(e.getSupDepId()))
|
||||
.supDepName((null == e.getSupDepId() || 0 == e.getSupDepId()) ? "" : departmentComInfo.getDepartmentname(Util.null2String(e.getSupDepId())))
|
||||
//.deptPrincipalName(getEmployeeNameById(e.getDeptPrincipal()))
|
||||
.build()).collect(Collectors.toList());
|
||||
//获取非一级部门
|
||||
|
|
|
|||
|
|
@ -26,12 +26,18 @@ public class SingleDeptTreeVO {
|
|||
|
||||
private Integer id;
|
||||
|
||||
@TableTitle(labelId = 547118, title = "编号", dataIndex = "departmentCode", key = "departmentCode")
|
||||
private String departmentCode;
|
||||
//@TableTitle(labelId = 547118, title = "编号", dataIndex = "departmentCode", key = "departmentCode")
|
||||
//private String departmentCode;
|
||||
|
||||
@TableTitle(title = "部门名称", dataIndex = "departmentMark", key = "departmentMark")
|
||||
@TableTitle(labelId = 547598, title = "部门名称", dataIndex = "departmentMark", key = "departmentMark")
|
||||
private String departmentMark;
|
||||
|
||||
@TableTitle(labelId = 547599, title = "部门简称", dataIndex = "departmentName", key = "departmentName")
|
||||
private String departmentName;
|
||||
|
||||
|
||||
@TableTitle(labelId = 547128, title = "所属分部", dataIndex = "subCompanyName", key = "subCompanyName")
|
||||
private String subCompanyName;
|
||||
private Integer subCompanyId1; //上级分部
|
||||
|
||||
private Integer supDepId; //上级部门id
|
||||
|
|
|
|||
|
|
@ -46,14 +46,14 @@ public class ManagerDetachVO {
|
|||
private Long id;
|
||||
|
||||
|
||||
@OrganizationTableColumn(text = "管理员", width = "20%", column = "ec_manager", transmethod = "com.engine.organization.transmethod.ManagerDetachTransMethod.getManagerName")
|
||||
@OrganizationTableColumn(labelId = 547405, text = "管理员", width = "20%", column = "ec_manager", transmethod = "com.engine.organization.transmethod.ManagerDetachTransMethod.getManagerName")
|
||||
private Integer ecManager;
|
||||
|
||||
@OrganizationTableColumn(text = "可管理组织机构", width = "40%", column = "ec_rolelevel",transmethod = "com.engine.organization.transmethod.ManagerDetachTransMethod.getRoleLevel")
|
||||
@OrganizationTableColumn(labelId = 547407, text = "可管理组织机构", width = "40%", column = "ec_rolelevel", transmethod = "com.engine.organization.transmethod.ManagerDetachTransMethod.getRoleLevel")
|
||||
private String ecRolelevel;
|
||||
|
||||
|
||||
@OrganizationTableColumn(text = "可管理模块", width = "40%", column = "manage_module")
|
||||
@OrganizationTableColumn(labelId = 547408, text = "可管理模块", width = "40%", column = "manage_module")
|
||||
private String manageModule;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,19 +35,19 @@ import lombok.NoArgsConstructor;
|
|||
)
|
||||
public class JobBrowserVO {
|
||||
|
||||
@OrganizationTableColumn(text = "标识", width = "25%", column = "id", display = false)
|
||||
@OrganizationTableColumn(labelId = 547597, text = "标识", width = "25%", column = "id", display = false)
|
||||
private Long id;
|
||||
|
||||
@OrganizationTableColumn(labelId = 547118, text = "编号", width = "25%", column = "job_no")
|
||||
private String jobNo;
|
||||
|
||||
@OrganizationTableColumn(text = "岗位名称", width = "25%", column = "name")
|
||||
@OrganizationTableColumn(labelId = 547595, text = "岗位名称", width = "25%", column = "name")
|
||||
private String jobName;
|
||||
|
||||
@OrganizationTableColumn(text = "职务类别", width = "25%", column = "jobGroupName")
|
||||
@OrganizationTableColumn(labelId = 547433, text = "职务类别", width = "25%", column = "jobGroupName")
|
||||
private String jobGroupName;
|
||||
|
||||
@OrganizationTableColumn(text = "所属职务", width = "25%", column = "jobActivityName")
|
||||
@OrganizationTableColumn(labelId = 547434, text = "所属职务", width = "25%", column = "jobActivityName")
|
||||
private String jobActivityName;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -29,9 +29,15 @@ public class SingleJobTreeVO {
|
|||
@TableTitle(labelId = 547118, title = "编号", dataIndex = "jobNo", key = "jobNo")
|
||||
private String jobNo;
|
||||
|
||||
@TableTitle(title = "岗位名称", dataIndex = "jobName", key = "jobName")
|
||||
@TableTitle(labelId = 547595, title = "岗位名称", dataIndex = "jobName", key = "jobName")
|
||||
private String jobName;
|
||||
|
||||
@TableTitle(labelId = 547433, title = "职务类别", dataIndex = "jobGroupName", key = "jobGroupName")
|
||||
private String jobGroupName;
|
||||
|
||||
@TableTitle(labelId = 547434, title = "所属职务", dataIndex = "jobActivityName", key = "jobActivityName")
|
||||
private String jobActivityName;
|
||||
|
||||
//@TableTitle(title = "上级岗位", dataIndex = "parentJobName", key = "parentJobName")
|
||||
//private String parentJobName;
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public class CardAccessVO {
|
|||
//@OrganizationTableColumn(column = "id", display = false)
|
||||
private Long id;
|
||||
|
||||
@OrganizationTableColumn(labelId = 547389, text = "栏目", width = "15%", column = "type_name")
|
||||
@OrganizationTableColumn(labelId = 547389, text = "栏目", width = "15%", column = "type_name",transmethod = "com.engine.organization.transmethod.CardAccessTrans.getMultiLanguage",multiLanguage = true)
|
||||
private Integer typeName;
|
||||
|
||||
@OrganizationTableColumn(labelId = 547130, text = "是否启用", width = "15%", column = "status")
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.engine.organization.mapper.job;
|
|||
import com.engine.organization.entity.hrmresource.po.ResourcePO;
|
||||
import com.engine.organization.entity.job.dto.JobListDTO;
|
||||
import com.engine.organization.entity.job.po.JobPO;
|
||||
import com.engine.organization.entity.job.vo.SingleJobTreeVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Collection;
|
||||
|
|
@ -46,6 +47,8 @@ public interface JobMapper {
|
|||
*/
|
||||
List<JobPO> listAll();
|
||||
|
||||
List<SingleJobTreeVO> jobSearchByDept(@Param("deptId") Integer deptId);
|
||||
|
||||
/**
|
||||
* 根据ID查询元素
|
||||
*
|
||||
|
|
|
|||
|
|
@ -540,6 +540,23 @@
|
|||
and t.ec_jobTitle = #{resourcePO.jobtitle}
|
||||
</if>
|
||||
</select>
|
||||
<select id="jobSearchByDept" resultType="com.engine.organization.entity.job.vo.SingleJobTreeVO">
|
||||
select t.id,
|
||||
t.job_no,
|
||||
h.jobtitlename as jobName,
|
||||
t.sequence_id,
|
||||
t.scheme_id,
|
||||
t.grade_id,
|
||||
t.level_id,
|
||||
e.jobactivityname,
|
||||
f.jobgroupname
|
||||
FROM jcl_org_job t
|
||||
left join hrmjobtitles h on t.ec_jobTitle = h.id
|
||||
left join hrmjobactivities e on h.jobactivityid = e.id
|
||||
left join hrmjobgroups f on e.jobgroupid = f.id
|
||||
where t.ec_department = #{deptId}
|
||||
order by id
|
||||
</select>
|
||||
|
||||
|
||||
<update id="updateJobCompany">
|
||||
|
|
|
|||
|
|
@ -351,7 +351,7 @@ public class CompServiceImpl extends Service implements CompService {
|
|||
retMap.put("conditions", groupList);
|
||||
retMap.put("buttons", buttonsMap);
|
||||
List<TopTab> topTabs = new ArrayList<>();
|
||||
topTabs.add(TopTab.builder().color("#000000").groupId("4").showcount(false).title("分部信息").viewCondition("4").build());
|
||||
topTabs.add(TopTab.builder().color("#000000").groupId("4").showcount(false).title(SystemEnv.getHtmlLabelName(547180,user.getLanguage())).viewCondition("4").build());
|
||||
retMap.put("tabInfo", topTabs);
|
||||
|
||||
Map<String, Object> apiDatas = new HashMap<>();
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ import lombok.SneakyThrows;
|
|||
import org.apache.commons.beanutils.BeanUtils;
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.systeminfo.SystemEnv;
|
||||
|
||||
import javax.crypto.Cipher;
|
||||
import javax.crypto.spec.IvParameterSpec;
|
||||
|
|
@ -71,11 +72,11 @@ public class ConfigServiceImpl extends Service implements ConfigService {
|
|||
Map<String, Object> map = new HashMap<>(16);
|
||||
BaseBean bb = new BaseBean();
|
||||
List<EditTableColumns> columns = new ArrayList<>();
|
||||
columns.add(EditTableColumns.builder().dataIndex("appSecret").key("appSecret").title("密钥").width("20%").build());
|
||||
columns.add(EditTableColumns.builder().dataIndex("url").key("url").title("外网").width("20%").build());
|
||||
columns.add(EditTableColumns.builder().dataIndex("secondUrl").key("secondUrl").title("内网").width("20%").build());
|
||||
columns.add(EditTableColumns.builder().dataIndex("pcAddress").key("pcAddress").title("PC地址").width("20%").build());
|
||||
columns.add(EditTableColumns.builder().dataIndex("mobileAddress").key("mobileAddress").title("H5地址").width("20%").build());
|
||||
columns.add(EditTableColumns.builder().dataIndex("appSecret").key("appSecret").title(SystemEnv.getHtmlLabelName(547397,user.getLanguage())).width("20%").build());
|
||||
columns.add(EditTableColumns.builder().dataIndex("url").key("url").title(SystemEnv.getHtmlLabelName(547398, user.getLanguage())).width("20%").build());
|
||||
columns.add(EditTableColumns.builder().dataIndex("secondUrl").key("secondUrl").title(SystemEnv.getHtmlLabelName(547399,user.getLanguage())).width("20%").build());
|
||||
columns.add(EditTableColumns.builder().dataIndex("pcAddress").key("pcAddress").title(SystemEnv.getHtmlLabelName(547400,user.getLanguage())).width("20%").build());
|
||||
columns.add(EditTableColumns.builder().dataIndex("mobileAddress").key("mobileAddress").title(SystemEnv.getHtmlLabelName(547401,user.getLanguage())).width("20%").build());
|
||||
columns.forEach(editTableColumns -> editTableColumns.setCom(getFieldDetailInfo(editTableColumns)));
|
||||
QTXConfigPO qtxConfigPO = getConfigMapper().selectConfigInfo();
|
||||
EditTableDatas datas = new EditTableDatas();
|
||||
|
|
|
|||
|
|
@ -20,8 +20,6 @@ import com.engine.organization.entity.department.dto.DepartmentListDTO;
|
|||
import com.engine.organization.entity.department.param.*;
|
||||
import com.engine.organization.entity.department.po.DepartmentPO;
|
||||
import com.engine.organization.entity.department.vo.SingleDeptTreeVO;
|
||||
import com.engine.organization.entity.job.bo.JobBO;
|
||||
import com.engine.organization.entity.job.po.JobPO;
|
||||
import com.engine.organization.entity.job.vo.SingleJobTreeVO;
|
||||
import com.engine.organization.entity.searchtree.SearchTree;
|
||||
import com.engine.organization.entity.searchtree.SearchTreeParams;
|
||||
|
|
@ -94,11 +92,9 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
|
|||
|
||||
@Override
|
||||
public PageInfo<SingleJobTreeVO> getJobListByPid(QuerySingleDeptListParam param) {
|
||||
List<JobPO> jobPOS = MapperProxyFactory.getProxy(JobMapper.class).listAll();
|
||||
PageInfo<JobPO> pageInfo = new PageInfo<>(jobPOS);
|
||||
List<SingleJobTreeVO> singleDeptTreeVOS = JobBO.buildSingleJobTreeVOS(jobPOS, param.getParentDept());
|
||||
List<SingleJobTreeVO> singleDeptTreeVOS = MapperProxyFactory.getProxy(JobMapper.class).jobSearchByDept(param.getParentDept());
|
||||
PageInfo<SingleJobTreeVO> pageInfos = new PageInfo<>(user, singleDeptTreeVOS, SingleJobTreeVO.class);
|
||||
pageInfos.setTotal(pageInfo.getTotal());
|
||||
pageInfos.setTotal(singleDeptTreeVOS.size());
|
||||
pageInfos.setPageNum(param.getCurrent());
|
||||
pageInfos.setPageSize(param.getPageSize());
|
||||
return pageInfos;
|
||||
|
|
@ -574,8 +570,8 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
|
|||
|
||||
|
||||
List<SearchConditionOption> selectOptions = new ArrayList<>();
|
||||
SearchConditionOption compOption = new SearchConditionOption("0", "分部");
|
||||
SearchConditionOption deptOption = new SearchConditionOption("1", "部门");
|
||||
SearchConditionOption compOption = new SearchConditionOption("0", SystemEnv.getHtmlLabelName(547332,user.getLanguage()));
|
||||
SearchConditionOption deptOption = new SearchConditionOption("1", SystemEnv.getHtmlLabelName(547331,user.getLanguage()));
|
||||
selectOptions.add(compOption);
|
||||
selectOptions.add(deptOption);
|
||||
SearchConditionItem moveTypeItem = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, 547275, "moveType");
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|||
import weaver.general.Util;
|
||||
import weaver.hrm.company.DepartmentComInfo;
|
||||
import weaver.hrm.company.SubCompanyComInfo;
|
||||
import weaver.systeminfo.SystemEnv;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
|
@ -236,19 +237,21 @@ public class ExportCommonServiceImpl extends Service implements ExportCommonServ
|
|||
.canceled(null == e.getCanceled() ? 0 : e.getCanceled())
|
||||
.build()).collect(Collectors.toList());
|
||||
|
||||
int language = user.getLanguage();
|
||||
String languageStr = String.valueOf(language);
|
||||
// 1.工作簿名称
|
||||
String sheetName = HrmI18nUtil.getI18nLabel(85368, "部门档案数据");
|
||||
String sheetName = HrmI18nUtil.getI18nLabel(85368, language, "部门档案数据");
|
||||
// 2.表头(后面动态获取)
|
||||
List<List<Object>> excelSheetData = new ArrayList<>();
|
||||
|
||||
String[] header = {
|
||||
HrmI18nUtil.getI18nLabel( -93270, "部门名称"),
|
||||
HrmI18nUtil.getI18nLabel( -93272, "编号"),
|
||||
HrmI18nUtil.getI18nLabel( -93274, "部门简称"),
|
||||
HrmI18nUtil.getI18nLabel( -93275, "所属分部"),
|
||||
HrmI18nUtil.getI18nLabel( -93278, "上级部门"),
|
||||
HrmI18nUtil.getI18nLabel( -93279, "部门负责人"),
|
||||
HrmI18nUtil.getI18nLabel( -93280, "启用状态")
|
||||
HrmI18nUtil.getI18nLabel(547598, language, "部门名称"),
|
||||
HrmI18nUtil.getI18nLabel(547118, language, "编号"),
|
||||
HrmI18nUtil.getI18nLabel(547599, language, "部门简称"),
|
||||
HrmI18nUtil.getI18nLabel(547128, language, "所属分部"),
|
||||
HrmI18nUtil.getI18nLabel(547189, language, "上级部门"),
|
||||
HrmI18nUtil.getI18nLabel(547190, language, "部门负责人"),
|
||||
HrmI18nUtil.getI18nLabel(547607, language, "启用状态")
|
||||
};
|
||||
excelSheetData.add(Arrays.asList(header));
|
||||
|
||||
|
|
@ -256,13 +259,13 @@ public class ExportCommonServiceImpl extends Service implements ExportCommonServ
|
|||
List<List<Object>> rows = new LinkedList<>();
|
||||
for (DepartmentListDTO vo : dtoList) {
|
||||
List<Object> row = new LinkedList<>();
|
||||
row.add(vo.getDepartmentName());
|
||||
row.add(vo.getDepartmentCode());
|
||||
row.add(vo.getDepartmentMark());
|
||||
row.add(vo.getSubCompanyName());
|
||||
row.add(vo.getSupDepName());
|
||||
row.add(vo.getBmfzr());
|
||||
row.add(vo.getCanceled() == 0 ? "启用" : "未启用");
|
||||
row.add(Util.formatMultiLang(vo.getDepartmentName(), languageStr));
|
||||
row.add(Util.formatMultiLang(vo.getDepartmentCode(), languageStr));
|
||||
row.add(Util.formatMultiLang(vo.getDepartmentMark(), languageStr));
|
||||
row.add(Util.formatMultiLang(vo.getSubCompanyName(), languageStr));
|
||||
row.add(Util.formatMultiLang(vo.getSupDepName(), languageStr));
|
||||
row.add(Util.formatMultiLang(vo.getBmfzr(), languageStr));
|
||||
row.add(vo.getCanceled() == 0 ? SystemEnv.getHtmlLabelName(547186, language) : SystemEnv.getHtmlLabelName(547608,user.getLanguage()));
|
||||
rows.add(row);
|
||||
}
|
||||
excelSheetData.addAll(rows);
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import com.engine.organization.util.OrganizationFormItemUtil;
|
|||
import weaver.conn.RecordSet;
|
||||
import weaver.general.StringUtil;
|
||||
import weaver.general.Util;
|
||||
import weaver.systeminfo.SystemEnv;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
|
@ -32,10 +33,10 @@ public class GroupServiceImpl extends Service implements GroupService {
|
|||
Map<String, Object> apiDatas = new HashMap<>();
|
||||
List<SearchConditionItem> selectItems = new ArrayList<>();
|
||||
List<SearchConditionGroup> addGroups = new ArrayList<>();
|
||||
SearchConditionItem companyNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "总部名称", "companyname");
|
||||
SearchConditionItem companyNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, 547172, "companyname");
|
||||
companyNameItem.setRules("required|string");
|
||||
SearchConditionItem companyDescItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "总部全称", "companydesc");
|
||||
SearchConditionItem companyWebItem = OrganizationFormItemUtil.textareaItem(user, 2, 16, true, 2, 60, "公司网站", "companyweb");
|
||||
SearchConditionItem companyDescItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, 547173, "companydesc");
|
||||
SearchConditionItem companyWebItem = OrganizationFormItemUtil.textareaItem(user, 2, 16, true, 2, 60, 547174, "companyweb");
|
||||
|
||||
// 赋值
|
||||
String id = Util.null2String(params.get("id"));
|
||||
|
|
@ -76,13 +77,12 @@ public class GroupServiceImpl extends Service implements GroupService {
|
|||
public boolean updateGroup(Map<String, Object> params) {
|
||||
HasRightUtil.hasRight(user, RIGHT_NAME, false);
|
||||
String id = Util.null2String(params.get("id"));
|
||||
OrganizationAssert.notNull(id, "数据有误");
|
||||
OrganizationAssert.notNull(id, SystemEnv.getHtmlLabelName(547440,user.getLanguage()));
|
||||
String companyname = (String) params.get("companyname");
|
||||
String companydesc = (String) params.get("companydesc");
|
||||
String companyweb = (String) params.get("companyweb");
|
||||
RecordSet rs = new RecordSet();
|
||||
boolean executeUpdate = rs.executeUpdate("update HrmCompany set COMPANYNAME = ?,COMPANYDESC=?,COMPANYWEB=? where id = ?", companyname, companydesc, companyweb, id);
|
||||
//TODO new GroupTriggerRunnable(params).run();
|
||||
return executeUpdate;
|
||||
|
||||
}
|
||||
|
|
@ -93,10 +93,10 @@ public class GroupServiceImpl extends Service implements GroupService {
|
|||
ArrayList<MenuBtn> topMenuList = new ArrayList<>();
|
||||
ArrayList<MenuBtn> rightMenuList = new ArrayList<>();
|
||||
// 编辑
|
||||
topMenuList.add(MenuBtn.builder().isTop("1").menuFun("doEdit").menuIcon("icon-coms-edit").menuName("编辑").type("BTN_EDIT").build());
|
||||
topMenuList.add(MenuBtn.builder().isTop("1").menuFun("doEdit").menuIcon("icon-coms-edit").menuName(SystemEnv.getHtmlLabelName(547132,user.getLanguage())).type("BTN_EDIT").build());
|
||||
btnDatas.put("topMenu", topMenuList);
|
||||
// 编辑
|
||||
rightMenuList.add(MenuBtn.builder().isTop("1").menuFun("doEdit").menuIcon("icon-coms-edit").menuName("编辑").type("BTN_EDIT").build());
|
||||
rightMenuList.add(MenuBtn.builder().isTop("1").menuFun("doEdit").menuIcon("icon-coms-edit").menuName(SystemEnv.getHtmlLabelName(547132,user.getLanguage())).type("BTN_EDIT").build());
|
||||
btnDatas.put("rightMenu", rightMenuList);
|
||||
btnDatas.put("hasRight", HasRightUtil.hasRight(user, RIGHT_NAME, true));
|
||||
return btnDatas;
|
||||
|
|
@ -106,7 +106,7 @@ public class GroupServiceImpl extends Service implements GroupService {
|
|||
public Map<String, Object> getTabInfo() {
|
||||
Map<String, Object> apiDatas = new HashMap<>();
|
||||
List<TopTab> topTabs = new ArrayList<>();
|
||||
topTabs.add(TopTab.builder().title("总部信息").viewCondition("1").build());
|
||||
topTabs.add(TopTab.builder().title(SystemEnv.getHtmlLabelName(547171 ,user.getLanguage())).viewCondition("1").build());
|
||||
apiDatas.put("topTabs", topTabs);
|
||||
return apiDatas;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -257,7 +257,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
|
|||
public Integer saveSearchTemplate(SearchTemplateParam params) {
|
||||
// 重复名称校验
|
||||
SearchTemplatePO searchTemplateByName = getHrmResourceMapper().getSearchTemplateByName(user.getUID(), params.getShowname());
|
||||
OrganizationAssert.isFalse("默认模板".equals(params.getShowname()) || null != searchTemplateByName, "该模板名称已存在");
|
||||
OrganizationAssert.isFalse("默认模板".equals(params.getShowname()) || null != searchTemplateByName, SystemEnv.getHtmlLabelName(547439,user.getLanguage()));
|
||||
SearchTemplatePO templatePO = buildSearchTemplateByFields(params.getFields());
|
||||
if (null == templatePO) {
|
||||
return -1;
|
||||
|
|
@ -280,7 +280,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
|
|||
String templateId = Util.null2String(params.get("templateId"));
|
||||
templateId = StringUtils.isBlank(templateId) ? "-1" : templateId;
|
||||
String type = Util.null2String(params.get("type"));
|
||||
OrganizationAssert.isTrue(StringUtils.isNotBlank(templateId), "数据有误,未找到对应数据");
|
||||
OrganizationAssert.isTrue(StringUtils.isNotBlank(templateId), SystemEnv.getHtmlLabelName(547440, user.getLanguage()));
|
||||
// 判断是否为搜索模板
|
||||
SearchTemplatePO searchTemplateById;
|
||||
List<String> selectKeys;
|
||||
|
|
@ -330,7 +330,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
|
|||
public Integer saveCustomTemplate(SearchTemplateParam params) {
|
||||
// 重复名称校验
|
||||
SearchTemplatePO searchTemplateByName = getHrmResourceMapper().getCustomTemplateByName(user.getUID(), params.getShowname());
|
||||
OrganizationAssert.isFalse("默认模板".equals(params.getShowname()) || null != searchTemplateByName, "该模板名称已存在");
|
||||
OrganizationAssert.isFalse("默认模板".equals(params.getShowname()) || null != searchTemplateByName, SystemEnv.getHtmlLabelName(547439,user.getLanguage()));
|
||||
SearchTemplatePO templatePO = buildSearchTemplateByFields(params.getFields());
|
||||
if (null == templatePO) {
|
||||
return -1;
|
||||
|
|
@ -375,7 +375,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
|
|||
allIds.remove(jclId);
|
||||
} else {
|
||||
//插入
|
||||
OrganizationAssert.isFalse("".equals(name), "模板名称不能为空");
|
||||
OrganizationAssert.isFalse("".equals(name), SystemEnv.getHtmlLabelName(547442,user.getLanguage()));
|
||||
jclOrgCustomTemplatePO.setName(name);
|
||||
jclOrgCustomTemplatePO.setCreator(user.getUID());
|
||||
jclOrgCustomTemplatePO.setCreateTime(new java.sql.Date(OrganizationDateUtil.stringToDate(currentDate).getTime()));
|
||||
|
|
@ -571,8 +571,8 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
|
|||
ArrayList<MenuBtn> topMenuList = new ArrayList<>();
|
||||
ArrayList<MenuBtn> rightMenuList = new ArrayList<>();
|
||||
if (HasRightUtil.hasRight(user, RIGHT_NAME, true)) {
|
||||
topMenuList.add(MenuBtn.builder().isBatch("1").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName("新建人员").type("BTN_Addnew").build());
|
||||
rightMenuList.add(MenuBtn.builder().isBatch("1").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName("新建人员").type("BTN_Addnew").build());
|
||||
topMenuList.add(MenuBtn.builder().isBatch("1").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName(SystemEnv.getHtmlLabelName(547443,user.getLanguage())).type("BTN_Addnew").build());
|
||||
rightMenuList.add(MenuBtn.builder().isBatch("1").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName(SystemEnv.getHtmlLabelName(547443,user.getLanguage())).type("BTN_Addnew").build());
|
||||
}
|
||||
topMenuList.add(MenuBtn.builder().isBatch("1").isTop("1").menuFun("customization").menuIcon("icon-coms-task-list").menuName(SystemEnv.getHtmlLabelName(547136,user.getLanguage())).type("BTN_COLUMN").build());
|
||||
rightMenuList.add(MenuBtn.rightMenu_btnLog(user.getLanguage()));
|
||||
|
|
@ -584,10 +584,6 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
|
|||
|
||||
@Override
|
||||
public Map<String, Object> getTabForm(Map<String, Object> params) {
|
||||
String viewAttrStr = (String) params.get("viewAttr");
|
||||
OrganizationAssert.notBlank(viewAttrStr, "未指定操作类型,请确认");
|
||||
String id = Util.null2String(params.get("id"));
|
||||
OrganizationAssert.notBlank(id, "数据有误,请确认");
|
||||
Map<String, Object> apiDatas = new HashMap<>();
|
||||
return apiDatas;
|
||||
}
|
||||
|
|
@ -625,8 +621,8 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
|
|||
@Override
|
||||
public Map<String, Object> getCustomTemplate(Map<String, Object> params) {
|
||||
List<ExtendInfoPO> infoPOList = new ArrayList<>();
|
||||
infoPOList.add(ExtendInfoPO.builder().viewAttr(2).id(null).fieldName("name").fieldNameDesc("模板名称").fieldType("varchar(255)").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"50\"]").showOrder(1).isrequired(0).isSystemDefault(0).build());
|
||||
infoPOList.add(ExtendInfoPO.builder().viewAttr(1).id(null).fieldName("createTime").fieldNameDesc("创建时间").fieldType("date").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"50\"]").showOrder(2).isrequired(0).isSystemDefault(0).build());
|
||||
infoPOList.add(ExtendInfoPO.builder().viewAttr(2).id(null).fieldName("name").fieldNameDesc(SystemEnv.getHtmlLabelName(547580,user.getLanguage())).fieldType("varchar(255)").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"50\"]").showOrder(1).isrequired(0).isSystemDefault(0).build());
|
||||
infoPOList.add(ExtendInfoPO.builder().viewAttr(1).id(null).fieldName("createTime").fieldNameDesc(SystemEnv.getHtmlLabelName(547521,user.getLanguage())).fieldType("date").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"50\"]").showOrder(2).isrequired(0).isSystemDefault(0).build());
|
||||
Map<String, Object> tabInfoMap = new HashMap<>();
|
||||
tabInfoMap.put("columns", ExtendInfoBO.convertInfoListToTable(user, infoPOList, false, true));
|
||||
List<JclOrgCustomTemplatePO> jclOrgCustomTemplatePOS = MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).listAllByCreator(user.getUID());
|
||||
|
|
@ -896,21 +892,21 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
|
|||
List<CusFormFieldPO> hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_BASIC.getGroupType().toString());
|
||||
createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, basicConditionItems);
|
||||
if (CollectionUtils.isNotEmpty(basicConditionItems)) {
|
||||
addGroups.add(new SearchConditionGroup("基本信息", true, basicConditionItems));
|
||||
addGroups.add(new SearchConditionGroup(SystemEnv.getHtmlLabelName(547175,user.getLanguage()), true, basicConditionItems));
|
||||
}
|
||||
|
||||
// 个人信息:1
|
||||
hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_PERSONAL.getGroupType().toString());
|
||||
createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, personalConditionItems);
|
||||
if (CollectionUtils.isNotEmpty(personalConditionItems)) {
|
||||
addGroups.add(new SearchConditionGroup("个人信息", true, personalConditionItems));
|
||||
addGroups.add(new SearchConditionGroup(SystemEnv.getHtmlLabelName(547578,user.getLanguage()), true, personalConditionItems));
|
||||
}
|
||||
|
||||
// 工作信息:3
|
||||
hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_WORK.getGroupType().toString());
|
||||
createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, workConditionItems);
|
||||
if (CollectionUtils.isNotEmpty(workConditionItems)) {
|
||||
addGroups.add(new SearchConditionGroup("工作信息", true, workConditionItems));
|
||||
addGroups.add(new SearchConditionGroup(SystemEnv.getHtmlLabelName(547579,user.getLanguage()), true, workConditionItems));
|
||||
}
|
||||
return addGroups;
|
||||
}
|
||||
|
|
@ -1039,16 +1035,16 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
|
|||
private void buildSearchConditionGroup(SearchTemplatePO templatePO, HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo, List<SearchConditionGroup> addGroups) {
|
||||
String[] basicFields = Util.null2String(templatePO.getBasicFields()).split(",");
|
||||
if (basicFields.length > 0) {
|
||||
getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "基本信息", HrmGroupEnum.HRM_BASIC.getGroupType(), basicFields);
|
||||
getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, SystemEnv.getHtmlLabelName(547175,user.getLanguage()), HrmGroupEnum.HRM_BASIC.getGroupType(), basicFields);
|
||||
}
|
||||
|
||||
String[] personalFields = Util.null2String(templatePO.getPersonalFields()).split(",");
|
||||
if (personalFields.length > 0) {
|
||||
getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "个人信息", HrmGroupEnum.HRM_PERSONAL.getGroupType(), personalFields);
|
||||
getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, SystemEnv.getHtmlLabelName(547578,user.getLanguage()), HrmGroupEnum.HRM_PERSONAL.getGroupType(), personalFields);
|
||||
}
|
||||
String[] workFields = Util.null2String(templatePO.getWorkFields()).split(",");
|
||||
if (workFields.length > 0) {
|
||||
getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "工作信息", HrmGroupEnum.HRM_WORK.getGroupType(), workFields);
|
||||
getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, SystemEnv.getHtmlLabelName(547579,user.getLanguage()), HrmGroupEnum.HRM_WORK.getGroupType(), workFields);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -334,11 +334,11 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
|
|||
}
|
||||
Map<String, Object> item = new HashMap<String, Object>(2){{
|
||||
put("index", 3);
|
||||
put("value", "多个职等之间使用英文状态下逗号”,“隔开");
|
||||
put("value",SystemEnv.getHtmlLabelName(547585,user.getLanguage()));
|
||||
}};
|
||||
Map<String, Object> item1 = new HashMap<String, Object>(2){{
|
||||
put("index", 4);
|
||||
put("value", "《等级方案、职等、职级》名称存在重复情况下暂时不支持导入功能");
|
||||
put("value", SystemEnv.getHtmlLabelName(547586,user.getLanguage()));
|
||||
}};
|
||||
itemList.add(item);
|
||||
itemList.add(item1);
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import org.apache.commons.collections.CollectionUtils;
|
|||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.general.Util;
|
||||
import weaver.systeminfo.SystemEnv;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -80,14 +81,14 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe
|
|||
List<SearchConditionItem> selectItems = new ArrayList<>();
|
||||
List<SearchConditionGroup> addGroups = new ArrayList<>();
|
||||
List<SearchConditionOption> selectOptions = new ArrayList<>();
|
||||
SearchConditionOption moduleOption = new SearchConditionOption("0", "组织管理", true);
|
||||
SearchConditionOption moduleOption = new SearchConditionOption("0", SystemEnv.getHtmlLabelName(547409,user.getLanguage()), true);
|
||||
selectOptions.add(moduleOption);
|
||||
|
||||
SearchConditionItem ecManager = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, true, "管理员", "1", "ecManager", "");
|
||||
SearchConditionItem ecManager = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, true, 547405, "1", "ecManager", "");
|
||||
ecManager.setRules("required|string");
|
||||
SearchConditionItem ecRolelevel = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, "可维护机构", "194", "ecRolelevel", "");
|
||||
SearchConditionItem ecRolelevel = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, 547407, "194", "ecRolelevel", "");
|
||||
ecRolelevel.setRules("required|string");
|
||||
SearchConditionItem module = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, "可管理模块", "module");
|
||||
SearchConditionItem module = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, 547408, "module");
|
||||
module.setViewAttr(1);
|
||||
module.setDetailtype(2);
|
||||
module.setHasBorder(true);
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ public class QuickSearchServiceImpl extends Service implements QuickSearchServic
|
|||
case 5:
|
||||
List<SearchConditionOption> selectOptions = getSelectOptions(quickSearchCondition);
|
||||
if (CollectionUtils.isEmpty(selectOptions)) {
|
||||
condition.setCom("未设置选项");
|
||||
condition.setCom(SystemEnv.getHtmlLabelName(547591,user.getLanguage()));
|
||||
} else {
|
||||
// 字段本身值、判断有无下拉框选项
|
||||
List<ConditionOption> options = selectOptions.stream().map(item -> ConditionOption.builder().key(item.getKey()).showname(item.getShowname()).build()).collect(Collectors.toList());
|
||||
|
|
@ -102,7 +102,7 @@ public class QuickSearchServiceImpl extends Service implements QuickSearchServic
|
|||
List<QuickSearchDetail> quickSearchDetailList = getQuickSearchMapper().getQuickSearchDetailByCid(quickSearchCondition.getId().toString());
|
||||
|
||||
if (CollectionUtils.isEmpty(quickSearchDetailList)) {
|
||||
condition.setCom("未设置选项");
|
||||
condition.setCom(SystemEnv.getHtmlLabelName(547591,user.getLanguage()));
|
||||
} else {
|
||||
List<ConditionOption> collect = quickSearchDetailList.stream().map(item -> ConditionOption.builder().key(item.getId().toString()).showname(item.getCustomName()).build()).collect(Collectors.toList());
|
||||
collect.add(0,ConditionOption.builder().key("-1").showname(SystemEnv.getHtmlLabelName(547191,user.getLanguage())).build());
|
||||
|
|
|
|||
|
|
@ -134,10 +134,10 @@ public class StaffServiceImpl extends Service implements StaffService {
|
|||
public int saveStaff(StaffParams param) {
|
||||
HasRightUtil.hasRight(user, RIGHT_NAME, false);
|
||||
StaffPO staffPO = StaffBO.convertParamToPO(param, (long) user.getUID());
|
||||
OrganizationAssert.isFalse(staffPO.getStaffNum() < 0, "编制数不可小于0,请更正");
|
||||
OrganizationAssert.isFalse(staffPO.getStaffNum() < 0, SystemEnv.getHtmlLabelName(547449,user.getLanguage()));
|
||||
List<StaffPO> verify = getStaffMapper().customSelect(param.getPlanId(), param.getEcCompany(), param.getEcDepartment(), param.getJobId());
|
||||
if (!verify.isEmpty()) {
|
||||
throw new OrganizationRunTimeException("同一编制方案下,同一维度的编制信息不可重复创建!");
|
||||
throw new OrganizationRunTimeException(SystemEnv.getHtmlLabelName(547450,user.getLanguage()));
|
||||
}
|
||||
checkRequired(staffPO);
|
||||
int ignoreNull = getStaffMapper().insertIgnoreNull(staffPO);
|
||||
|
|
@ -151,7 +151,7 @@ public class StaffServiceImpl extends Service implements StaffService {
|
|||
HasRightUtil.hasRight(user, RIGHT_NAME, false);
|
||||
List<StaffPO> verify = getStaffMapper().customSelect(param.getPlanId(), param.getEcCompany(), param.getEcDepartment(), param.getJobId());
|
||||
if (verify.size() > 1) {
|
||||
throw new OrganizationRunTimeException("同一编制方案下,同一维度的编制信息已存在!");
|
||||
throw new OrganizationRunTimeException(SystemEnv.getHtmlLabelName(547451, user.getLanguage()));
|
||||
}
|
||||
StaffPO staffByID = getStaffMapper().getStaffByID(param.getId());
|
||||
StaffPO staffPO = StaffBO.convertParamToPO(param, (long) user.getUID());
|
||||
|
|
@ -172,10 +172,10 @@ public class StaffServiceImpl extends Service implements StaffService {
|
|||
// 更新编制表
|
||||
staffPO.setStaffNum(staffPO.getStaffNum() + changeNum);
|
||||
}
|
||||
OrganizationAssert.isFalse(staffPO.getStaffNum() < 0, "调整后编制数小于0,请更正");
|
||||
OrganizationAssert.isFalse(staffPO.getStaffNum() < 0, SystemEnv.getHtmlLabelName(547452,user.getLanguage()));
|
||||
StaffBO.buildStaffDesc(staffPO);
|
||||
if (staffPO.getControlPolicy().equals(HARDCONTROLLER) && staffPO.getStaffNum() < (staffPO.getPermanentNum() + staffPO.getFreezeNum())){
|
||||
throw new OrganizationRunTimeException("存在编制超编风险,请先修改控制策略");
|
||||
throw new OrganizationRunTimeException(SystemEnv.getHtmlLabelName(547453,user.getLanguage()));
|
||||
}
|
||||
// 更新主表
|
||||
int updateStaff = getStaffMapper().updateStaff(staffPO);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
package com.engine.organization.transmethod;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import weaver.systeminfo.SystemEnv;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2024/06/11
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class CardAccessTrans {
|
||||
static Map<String, Integer> map = new HashMap<>();
|
||||
|
||||
static {
|
||||
map.put("个人信息", 547578);
|
||||
map.put("工作信息", 547579);
|
||||
map.put("基本信息", 547175);
|
||||
}
|
||||
|
||||
|
||||
public static String getMultiLanguage(String text, String languageId) {
|
||||
Integer language = Convert.toInt(languageId, -1);
|
||||
if (-1 == language) {
|
||||
return text;
|
||||
}
|
||||
Integer labelId = map.get(text);
|
||||
if (null == language) {
|
||||
return text;
|
||||
}
|
||||
return SystemEnv.getHtmlLabelName(labelId,language);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,8 @@
|
|||
package com.engine.organization.util;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.systeminfo.SystemEnv;
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
* @description: 多语言工具类
|
||||
|
|
@ -18,6 +21,14 @@ public class HrmI18nUtil {
|
|||
public static String getI18nLabel(int labelId, String defaultLabel) {
|
||||
return defaultLabel;
|
||||
}
|
||||
|
||||
public static String getI18nLabel(int labelId, int language, String defaultLabel) {
|
||||
if (labelId < 0) {
|
||||
return defaultLabel;
|
||||
}
|
||||
String htmlLabelName = SystemEnv.getHtmlLabelName(labelId, labelId);
|
||||
return StringUtils.isNotBlank(htmlLabelName) ? htmlLabelName : defaultLabel;
|
||||
}
|
||||
//
|
||||
// /**
|
||||
// * 获取多语言信息
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ public class SequenceImportUtil {
|
|||
}
|
||||
Map<String,Object> map = new HashMap<String,Object>(2){{
|
||||
put("index",3);
|
||||
put("value","分部的层级关系用字符>分割。");
|
||||
put("value",SystemEnv.getHtmlLabelName(547228,user.getLanguage()));
|
||||
}};
|
||||
itemList.add(map);
|
||||
groupItem.put("items", itemList);
|
||||
|
|
|
|||
Loading…
Reference in New Issue