You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
weaver-hrm-organization/src/com/engine/organization/service/impl/CardAccessServiceImpl.java

137 lines
6.0 KiB
Java

package com.engine.organization.service.impl;
import com.cloudstore.eccom.result.WeaResultMsg;
import com.engine.core.impl.Service;
import com.engine.organization.component.OrganizationWeaTable;
import com.engine.organization.entity.extend.bo.ExtendInfoBO;
import com.engine.organization.entity.extend.po.ExtendInfoPO;
import com.engine.organization.entity.personnelcard.po.CardAccessPO;
import com.engine.organization.entity.personnelcard.po.CardButtonPO;
3 years ago
import com.engine.organization.entity.personnelcard.vo.CardAccessVO;
import com.engine.organization.mapper.personnelcard.CardAccessMapper;
import com.engine.organization.mapper.personnelcard.CardButtonMapper;
import com.engine.organization.service.CardAccessService;
import com.engine.organization.transmethod.SystemTransMethod;
import com.engine.organization.util.HasRightUtil;
import com.engine.organization.util.db.MapperProxyFactory;
import weaver.general.Util;
3 years ago
import java.util.*;
import java.util.stream.Collectors;
/**
* @Author weaver_cl
* @Description:
* @Date 2022/11/1
* @Version V1.0
**/
public class CardAccessServiceImpl extends Service implements CardAccessService {
private static final String RIGHT_NAME = "CardAccess:All";
3 years ago
private CardAccessMapper getCardAccessMapper() {
return MapperProxyFactory.getProxy(CardAccessMapper.class);
}
private CardButtonMapper getCardButtonMapper() {
return MapperProxyFactory.getProxy(CardButtonMapper.class);
}
@Override
public Map<String, Object> tablePage() {
Map<String, Object> resultMap = new HashMap<>();
3 years ago
OrganizationWeaTable<CardAccessVO> table = new OrganizationWeaTable<>(user, CardAccessVO.class);
String sqlWhere = " where delete_type = 0";
table.setSqlwhere(sqlWhere);
WeaResultMsg result = new WeaResultMsg(false);
result.putAll(table.makeDataResult());
result.success();
resultMap.putAll(result.getResultMap());
return resultMap;
}
@Override
public Map<String, Object> hasRight() {
Map<String, Object> resultMap = new HashMap<>();
boolean hasRight = HasRightUtil.hasRight(user, RIGHT_NAME, true);
resultMap.put("hasRight", hasRight);
return resultMap;
}
@Override
public int save(Map<String, Object> params) {
int rowNum = Util.getIntValue((String) params.get("rownum"));
3 years ago
List<CardAccessPO> dataList = new ArrayList<>();
for (int i = 0; i < rowNum; i++) {
3 years ago
CardAccessPO data = CardAccessPO.builder()
.id(Util.getIntValue((String)params.get("id_"+i)))
.status(Util.getIntValue((String)params.get("status_"+i)))
.allPeople(Util.getIntValue((String)params.get("all_people_"+i)))
.superior(Util.getIntValue((String)params.get("superior_"+i)))
.allSuperior(Util.getIntValue((String)params.get("all_superior_"+i)))
.custom(Util.null2String(params.get("custom_"+i)))
.updateTime(new Date())
.build();
dataList.add(data);
}
return getCardAccessMapper().saveCardAccess(dataList);
}
@Override
public int deleteByIds(Collection<Long> ids) {
return getCardAccessMapper().deleteByIds(ids);
}
@Override
public int addData(CardAccessPO cardAccessPO) {
return getCardAccessMapper().insertIgnoreNull(cardAccessPO);
}
@Override
3 years ago
public int updateTabName(String name,Integer id) {
return getCardAccessMapper().updateTabName(name,id);
}
@Override
public Map<String, Object> getCardButtonFrom() {
// 区分主表明细表
String tableName = "JCL_ORG_CARDBUTTON";
List<ExtendInfoPO> infoPOList = new ArrayList<>();
infoPOList.add(ExtendInfoPO.builder().id(null).tableName(tableName).fieldName("name").fieldNameDesc("按钮名称").fieldType("varchar(50)").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"50\"]").showOrder(1).isSystemDefault(0).build());
infoPOList.add(ExtendInfoPO.builder().id(null).tableName(tableName).fieldName("status").fieldNameDesc("启用").fieldType("char(1)").controlType(1).browserType("1").customValue("[\"check\"]").showOrder(2).isSystemDefault(0).build());
infoPOList.add(ExtendInfoPO.builder().id(null).tableName(tableName).fieldName("url").fieldNameDesc("跳转地址").fieldType("varchar(1000)").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"1000\"]").showOrder(3).isSystemDefault(0).build());
infoPOList.add(ExtendInfoPO.builder().id(null).tableName(tableName).fieldName("roles").fieldNameDesc("角色").fieldType("text").controlType(1).browserType("65").customValue("[\"browser\",{\"valueSpan\":\"多角色\",\"replaceDatas\":[{\"itemorderid\":\"65\",\"name\":\"多角色\",\"id\":\"65\",\"parenttitle\":\"人员\",\"title\":\"人员-多角色\"}],\"value\":\"65\"}]").showOrder(4).isSystemDefault(0).build());
Map<String, Object> tabinfoMap = new HashMap<>();
tabinfoMap.put("columns", ExtendInfoBO.convertInfoListToTable(user, infoPOList, 2, false));
// 去除null 元素
List<CardButtonPO> cardButtonPOS = getCardButtonMapper().listAll();
// 兼容Oracle,map的key转换为小写
List<Map<String, Object>> collect = cardButtonPOS.stream().map(item -> {
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("id", item.getId());
resultMap.put("name", item.getName());
resultMap.put("status", item.getStatus());
resultMap.put("url", item.getUrl());
resultMap.put("roles", item.getRoles());
resultMap.put("rolesspan", SystemTransMethod.getRoleName(item.getRoles()));
return resultMap;
}).collect(Collectors.toList());
tabinfoMap.put("datas", collect);
tabinfoMap.put("api_status", true);
return tabinfoMap;
}
@Override
public int saveCardButton(Map<String, Object> params) {
return 0;
}
3 years ago
}