weaver-hrm-organization/src/com/engine/organization/service/impl/CardAccessServiceImpl.java

181 lines
8.4 KiB
Java
Raw Normal View History

2022-11-01 17:53:31 +08:00
package com.engine.organization.service.impl;
2022-11-02 17:44:52 +08:00
import com.cloudstore.eccom.result.WeaResultMsg;
import com.engine.core.impl.Service;
import com.engine.organization.component.OrganizationWeaTable;
2022-11-11 09:09:53 +08:00
import com.engine.organization.entity.extend.bo.ExtendInfoBO;
2022-11-11 16:24:26 +08:00
import com.engine.organization.entity.extend.param.ExtendInfoParams;
2022-11-11 09:09:53 +08:00
import com.engine.organization.entity.extend.po.ExtendInfoPO;
2022-11-08 09:23:53 +08:00
import com.engine.organization.entity.personnelcard.po.CardAccessPO;
2022-11-11 09:09:53 +08:00
import com.engine.organization.entity.personnelcard.po.CardButtonPO;
2022-11-09 09:45:19 +08:00
import com.engine.organization.entity.personnelcard.vo.CardAccessVO;
2022-11-11 16:24:26 +08:00
import com.engine.organization.mapper.extend.ExtMapper;
2022-11-08 09:23:53 +08:00
import com.engine.organization.mapper.personnelcard.CardAccessMapper;
2022-11-11 09:09:53 +08:00
import com.engine.organization.mapper.personnelcard.CardButtonMapper;
2022-11-02 17:44:52 +08:00
import com.engine.organization.service.CardAccessService;
2022-11-11 09:09:53 +08:00
import com.engine.organization.transmethod.SystemTransMethod;
2022-11-02 17:44:52 +08:00
import com.engine.organization.util.HasRightUtil;
2022-11-08 09:23:53 +08:00
import com.engine.organization.util.db.MapperProxyFactory;
2022-11-11 17:24:22 +08:00
import org.apache.commons.collections.CollectionUtils;
2022-11-11 16:24:26 +08:00
import org.apache.commons.lang3.StringUtils;
2022-11-08 09:23:53 +08:00
import weaver.general.Util;
2024-05-31 11:34:09 +08:00
import weaver.systeminfo.SystemEnv;
2022-11-10 10:20:24 +08:00
2022-11-08 09:23:53 +08:00
import java.util.*;
2022-11-11 16:24:26 +08:00
import java.util.concurrent.atomic.AtomicInteger;
2022-11-11 09:09:53 +08:00
import java.util.stream.Collectors;
2022-11-02 17:44:52 +08:00
2022-11-01 17:53:31 +08:00
/**
* @Author weaver_cl
* @Description:
* @Date 2022/11/1
* @Version V1.0
**/
2022-11-02 17:44:52 +08:00
public class CardAccessServiceImpl extends Service implements CardAccessService {
private static final String RIGHT_NAME = "CardAccess:All";
2022-11-10 10:20:24 +08:00
private CardAccessMapper getCardAccessMapper() {
2022-11-08 09:23:53 +08:00
return MapperProxyFactory.getProxy(CardAccessMapper.class);
}
2022-11-11 09:09:53 +08:00
private CardButtonMapper getCardButtonMapper() {
return MapperProxyFactory.getProxy(CardButtonMapper.class);
}
2022-11-02 17:44:52 +08:00
@Override
public Map<String, Object> tablePage() {
Map<String, Object> resultMap = new HashMap<>();
2022-11-09 09:45:19 +08:00
OrganizationWeaTable<CardAccessVO> table = new OrganizationWeaTable<>(user, CardAccessVO.class);
2022-11-02 17:44:52 +08:00
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", true);
2022-11-02 17:44:52 +08:00
return resultMap;
}
@Override
public int save(Map<String, Object> params) {
2022-11-08 09:23:53 +08:00
int rowNum = Util.getIntValue((String) params.get("rownum"));
2022-11-10 10:20:24 +08:00
List<CardAccessPO> dataList = new ArrayList<>();
2022-11-08 09:23:53 +08:00
for (int i = 0; i < rowNum; i++) {
2022-11-10 10:20:24 +08:00
CardAccessPO data = CardAccessPO.builder()
2022-11-11 16:24:26 +08:00
.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)))
2022-11-10 10:20:24 +08:00
.updateTime(new Date())
.build();
2022-11-08 09:23:53 +08:00
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
2022-11-11 16:24:26 +08:00
public int updateTabName(String name, Integer id) {
return getCardAccessMapper().updateTabName(name, id);
2022-11-02 17:44:52 +08:00
}
2022-11-11 09:09:53 +08:00
@Override
2022-11-11 13:59:45 +08:00
public Map<String, Object> getCardButtonTable() {
2022-11-11 09:09:53 +08:00
List<ExtendInfoPO> infoPOList = new ArrayList<>();
2024-06-03 14:03:38 +08:00
infoPOList.add(ExtendInfoPO.builder().id(null).fieldName("name").fieldNameDesc(SystemEnv.getHtmlLabelName(547386,user.getLanguage())).fieldType("varchar(50)").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"50\"]").showOrder(1).isrequired(0).isSystemDefault(0).build());
2024-05-31 11:34:09 +08:00
infoPOList.add(ExtendInfoPO.builder().id(null).fieldName("status").fieldNameDesc(SystemEnv.getHtmlLabelName(547186, user.getLanguage())).fieldType("char(1)").controlType(7).browserType("1").customValue("[\"check\"]").showOrder(2).isrequired(0).isSystemDefault(0).build());
2024-06-03 14:03:38 +08:00
infoPOList.add(ExtendInfoPO.builder().id(null).fieldName("url").fieldNameDesc(SystemEnv.getHtmlLabelName(547387,user.getLanguage())).fieldType("varchar(1000)").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"1000\"]").showOrder(3).isrequired(0).isSystemDefault(0).build());
infoPOList.add(ExtendInfoPO.builder().id(null).fieldName("roles").fieldNameDesc(SystemEnv.getHtmlLabelName(547388,user.getLanguage())).fieldType("text").controlType(3).browserType("65").customValue("[\"browser\",{\"valueSpan\":\"多角色\",\"replaceDatas\":[{\"itemorderid\":\"65\",\"name\":\"多角色\",\"id\":\"65\",\"parenttitle\":\"人员\",\"title\":\"人员-多角色\"}],\"value\":\"65\"}]").showOrder(4).isrequired(0).isSystemDefault(0).build());
2022-11-11 09:09:53 +08:00
2022-11-11 13:59:45 +08:00
Map<String, Object> tabInfoMap = new HashMap<>();
2022-11-11 16:24:26 +08:00
tabInfoMap.put("columns", ExtendInfoBO.convertInfoListToTable(user, infoPOList, 2, false, true));
2022-11-11 09:09:53 +08:00
List<CardButtonPO> cardButtonPOS = getCardButtonMapper().listAll();
2022-11-11 16:24:26 +08:00
List<Integer> isUsed = new ArrayList<>();
AtomicInteger index = new AtomicInteger(0);
2022-11-11 09:09:53 +08:00
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());
2022-11-11 16:24:26 +08:00
resultMap.put("status", "");
2022-11-14 11:19:08 +08:00
resultMap.put("url", item.getUrl());
resultMap.put("roles", item.getRoles());
resultMap.put("rolesspan", SystemTransMethod.getRoleName(item.getRoles()));
2022-11-11 16:24:26 +08:00
if (1 == item.getStatus()) {
isUsed.add(index.get());
}
index.getAndIncrement();
2022-11-14 11:19:08 +08:00
2022-11-11 09:09:53 +08:00
return resultMap;
}).collect(Collectors.toList());
2022-11-11 16:24:26 +08:00
2022-11-11 13:59:45 +08:00
tabInfoMap.put("datas", collect);
tabInfoMap.put("api_status", true);
2022-11-11 16:24:26 +08:00
Map<String, List<Integer>> isUsedMap = new HashMap<>();
isUsedMap.put("status", isUsed);
tabInfoMap.put("selectedData", isUsedMap);
tabInfoMap.put("isModalEdit", false);
2022-11-11 09:09:53 +08:00
2022-11-11 13:59:45 +08:00
return tabInfoMap;
2022-11-11 09:09:53 +08:00
}
@Override
public int saveCardButton(Map<String, Object> params) {
2022-11-11 16:24:26 +08:00
String tableName = "JCL_ORG_CARDBUTTON";
int rowNum = Util.getIntValue((String) params.get("rownum"));
int count = 0;
2022-11-11 17:24:22 +08:00
List<Long> allIds = getCardButtonMapper().listAllId();
2022-11-11 16:24:26 +08:00
for (int i = 0; i < rowNum; i++) {
String recordIndex = "_" + i;
Map<String, Object> recordData = new HashMap<>();
2022-11-11 17:24:22 +08:00
recordData.put("name", params.get("name" + recordIndex));
recordData.put("status", params.get("status" + recordIndex));
recordData.put("url", params.get("url" + recordIndex));
recordData.put("roles", params.get("roles" + recordIndex));
2022-11-14 11:19:08 +08:00
// 排序字段
recordData.put("show_order", i);
// 预留字段
// recordData.put("open", null);
2022-11-11 17:24:22 +08:00
String id = Util.null2String(params.get("id" + recordIndex));
2022-11-11 16:24:26 +08:00
if (StringUtils.isNotBlank(id)) {
// 更新
2022-11-11 17:24:22 +08:00
long buttonId = Long.parseLong(id);
count += MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().tableName(tableName).id(buttonId).params(recordData).build());
allIds.remove(buttonId);
2022-11-11 16:24:26 +08:00
} else {
//插入
2022-11-11 17:24:22 +08:00
recordData.put("sys_default", 1);
recordData.put("delete_type", 0);
2022-11-11 16:24:26 +08:00
count += MapperProxyFactory.getProxy(ExtMapper.class).insertTable(ExtendInfoParams.builder().tableName(tableName).params(recordData).build());
}
}
2022-11-11 17:24:22 +08:00
if (CollectionUtils.isNotEmpty(allIds)) {
count += getCardButtonMapper().deleteByIds(allIds);
}
2022-11-11 16:24:26 +08:00
return count;
2022-11-11 09:09:53 +08:00
}
2022-11-10 10:20:24 +08:00
2022-11-01 17:53:31 +08:00
}