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

177 lines
7.3 KiB
Java
Raw Normal View History

2022-05-07 10:18:50 +08:00
package com.engine.organization.service.impl;
2022-05-09 14:40:18 +08:00
import com.api.browser.bean.SearchConditionGroup;
import com.api.browser.bean.SearchConditionItem;
2022-05-07 11:32:48 +08:00
import com.cloudstore.eccom.result.WeaResultMsg;
2022-05-07 10:18:50 +08:00
import com.engine.core.impl.Service;
2022-05-07 11:32:48 +08:00
import com.engine.organization.component.OrganizationWeaTable;
2022-05-09 14:40:18 +08:00
import com.engine.organization.entity.scheme.dto.SchemeDTO;
2022-05-07 22:03:42 +08:00
import com.engine.organization.entity.scheme.param.SchemeSearchParam;
2022-05-07 10:18:50 +08:00
import com.engine.organization.entity.scheme.po.SchemePO;
2022-05-07 11:32:48 +08:00
import com.engine.organization.entity.scheme.vo.SchemeTableVO;
import com.engine.organization.mapper.scheme.SchemeMapper;
2022-05-07 10:18:50 +08:00
import com.engine.organization.service.SchemeService;
2022-05-10 13:49:36 +08:00
import com.engine.organization.util.MenuBtn;
2022-05-07 14:45:35 +08:00
import com.engine.organization.util.OrganizationAssert;
2022-05-09 14:40:18 +08:00
import com.engine.organization.util.OrganizationFormItemUtil;
2022-05-07 11:32:48 +08:00
import com.engine.organization.util.db.DBType;
2022-05-07 14:45:35 +08:00
import com.engine.organization.util.db.MapperProxyFactory;
2022-05-07 10:18:50 +08:00
import com.weaverboot.frame.ioc.anno.classAnno.WeaIocService;
2022-05-07 11:32:48 +08:00
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
2022-05-09 14:40:18 +08:00
import weaver.general.StringUtil;
2022-05-07 11:32:48 +08:00
import weaver.general.Util;
2022-05-07 10:18:50 +08:00
2022-05-09 14:40:18 +08:00
import java.util.*;
2022-05-07 10:18:50 +08:00
/**
2022-05-09 14:40:18 +08:00
* @Author dxfeng
2022-05-07 10:18:50 +08:00
* @Description: TODO
2022-05-09 14:40:18 +08:00
* @Date 2022/5/9
2022-05-07 10:18:50 +08:00
* @Version V1.0
**/
@WeaIocService
2022-05-09 14:40:18 +08:00
2022-05-07 10:18:50 +08:00
public class SchemeServiceImpl extends Service implements SchemeService {
2022-05-07 22:03:42 +08:00
@Override
public Map<String, Object> listPage(Map<String, Object> params) {
OrganizationWeaTable<SchemeTableVO> table = new OrganizationWeaTable<>(user, SchemeTableVO.class);
String sqlWhere = buildSqlWhere(params);
table.setSqlwhere(sqlWhere);
WeaResultMsg result = new WeaResultMsg(false);
result.putAll(table.makeDataResult());
result.success();
return result.getResultMap();
}
2022-05-07 10:18:50 +08:00
@Override
2022-05-07 22:03:42 +08:00
public Map<String, Object> save(SchemeSearchParam param) {
2022-05-07 11:32:48 +08:00
Map<String, Object> apidatas = new HashMap<String, Object>(16);
2022-05-07 14:45:35 +08:00
SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class);
2022-05-07 22:03:42 +08:00
List<SchemePO> list = mapper.listByNo(Util.null2String(param.getSchemeNo()));
OrganizationAssert.isEmpty(list, "编号不允许重复");
2022-05-09 14:40:18 +08:00
SchemePO schemePO = SchemeDTO.convertParamToPO(param, (long) user.getUID());
2022-05-07 14:45:35 +08:00
mapper.insertIgnoreNull(schemePO);
2022-05-07 11:32:48 +08:00
return apidatas;
2022-05-07 10:18:50 +08:00
}
2022-05-07 22:03:42 +08:00
@Override
public Map<String, Object> updateScheme(SchemeSearchParam param) {
Map<String, Object> apidatas = new HashMap<String, Object>();
SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class);
2022-05-09 14:40:18 +08:00
SchemePO schemePO = SchemeDTO.convertParamToPO(param, (long) user.getUID());
2022-05-07 22:03:42 +08:00
mapper.updateScheme(schemePO);
return apidatas;
}
2022-05-07 11:32:48 +08:00
2022-05-07 10:18:50 +08:00
@Override
2022-05-09 14:40:18 +08:00
public void updateForbiddenTagById(SchemeSearchParam params) {
2022-05-07 22:03:42 +08:00
SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class);
2022-05-09 14:40:18 +08:00
SchemePO schemePO = SchemePO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 1 : 0).build();
2022-05-07 22:03:42 +08:00
mapper.updateForbiddenTagById(schemePO);
}
2022-05-07 11:32:48 +08:00
2022-05-07 22:03:42 +08:00
@Override
public void deleteByIds(Collection<Long> ids) {
OrganizationAssert.notEmpty(ids, "请选择要删除的数据");
SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class);
2022-05-09 14:40:18 +08:00
List<SchemePO> schemePOS = mapper.listSchemesByIds(ids);
2022-05-07 22:03:42 +08:00
OrganizationAssert.notEmpty(schemePOS, "选择的数据不存在,或数据已删除");
mapper.deleteByIds(ids);
}
2022-05-09 14:40:18 +08:00
2022-05-07 22:03:42 +08:00
@Override
2022-05-09 14:40:18 +08:00
public Map<String, Object> getSearchCondition(Map<String, Object> params) {
Map<String, Object> apiDatas = new HashMap<>();
List<SearchConditionGroup> addGroups = new ArrayList<>();
List<SearchConditionItem> conditionItems = new ArrayList<>();
2022-05-10 13:49:36 +08:00
SearchConditionItem schemeNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "方案名称", "schemeName");
SearchConditionItem schemeNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "方案编号", "schemeNo");
2022-05-09 14:40:18 +08:00
conditionItems.add(schemeNameCondition);
conditionItems.add(schemeNoCondition);
addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems));
apiDatas.put("conditions", addGroups);
return apiDatas;
}
@Override
public Map<String, Object> getSchemeForm(Map<String, Object> params) {
Map<String, Object> apiDatas = new HashMap<>();
List<SearchConditionItem> selectItems = new ArrayList<>();
List<SearchConditionGroup> addGroups = new ArrayList<>();
2022-05-10 10:54:41 +08:00
SearchConditionItem schemeNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "方案名称", "schemeName");
schemeNameCondition.setRules("required|string");
2022-05-10 13:49:36 +08:00
SearchConditionItem schemeNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "方案编号", "schemeNo");
2022-05-10 10:54:41 +08:00
schemeNoCondition.setRules("required|string");
2022-05-09 14:40:18 +08:00
SearchConditionItem textareaItem = OrganizationFormItemUtil.textareaItem(user, 2, 16, true, 2, 60, "方案说明", "schemeDescription");
// 编辑状态下赋值操作
String id = Util.null2String(params.get("id"));
2022-05-09 14:40:18 +08:00
if (!StringUtil.isEmpty(id)) {
SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class);
SchemePO schemePO = mapper.getSchemeByID(Integer.parseInt(id));
OrganizationAssert.notNull(schemePO, "选择的数据不存在,或数据已删除");
schemeNameCondition.setValue(schemePO.getSchemeName());
schemeNoCondition.setValue(schemePO.getSchemeNo());
textareaItem.setValue(schemePO.getSchemeDescription());
2022-05-10 13:49:36 +08:00
// 编辑状态下,编号只读
schemeNoCondition.setViewAttr(1);
2022-05-09 14:40:18 +08:00
}
selectItems.add(schemeNoCondition);
2022-05-10 13:49:36 +08:00
selectItems.add(schemeNameCondition);
2022-05-09 14:40:18 +08:00
selectItems.add(textareaItem);
addGroups.add(new SearchConditionGroup("基本信息", true, selectItems));
apiDatas.put("condition", addGroups);
return apiDatas;
2022-05-07 11:32:48 +08:00
}
@Override
public Map<String, Object> getTableBtn() {
2022-05-10 10:54:41 +08:00
Map<String, Object> btnDatas = new HashMap<>();
2022-05-10 13:49:36 +08:00
ArrayList<MenuBtn> topMenuList = new ArrayList<>();
ArrayList<MenuBtn> rightMenuList = new ArrayList<>();
2022-05-10 10:54:41 +08:00
// 新建
2022-05-10 13:49:36 +08:00
topMenuList.add(MenuBtn.topMenu_addNew());
2022-05-10 10:54:41 +08:00
// 批量删除
2022-05-10 13:49:36 +08:00
topMenuList.add(MenuBtn.topMenu_batchDelete());
btnDatas.put("topMenu", topMenuList);
// 新建
rightMenuList.add(MenuBtn.rightMenu_addNew());
// 日志
rightMenuList.add(MenuBtn.rightMenu_btnLog());
// 显示列定制
rightMenuList.add(MenuBtn.rightMenu_btnColumn());
btnDatas.put("rightMenu",rightMenuList);
2022-05-10 10:54:41 +08:00
return btnDatas;
}
2022-05-07 11:32:48 +08:00
/**
* 查询条件
2022-05-07 14:45:35 +08:00
*
2022-05-07 11:32:48 +08:00
* @param params
* @return
*/
private String buildSqlWhere(Map<String, Object> params) {
DBType dbType = DBType.get(new RecordSet().getDBType());
String sqlWhere = " where delete_type ='0' ";
2022-05-10 13:49:36 +08:00
String name = (String) params.get("schemeName");
2022-05-07 11:32:48 +08:00
if (StringUtils.isNotBlank(name)) {
sqlWhere += " AND scheme_name " + dbType.like(name);
}
2022-05-10 13:49:36 +08:00
String no = (String) params.get("schemeNo");
2022-05-07 22:03:42 +08:00
if (StringUtils.isNotBlank(no)) {
2022-05-07 11:32:48 +08:00
sqlWhere += " AND scheme_no " + dbType.like(no);
}
return sqlWhere;
2022-05-07 10:18:50 +08:00
}
}