等级方案 增删改查接口

pull/4/MERGE
dxfeng 3 years ago
parent 932105a8a0
commit 68795ade06

@ -1,29 +0,0 @@
package com.engine.organization.entity.scheme.bo;
import com.engine.organization.entity.scheme.dto.SchemeListDTO;
import com.engine.organization.entity.scheme.po.SchemePO;
import org.apache.commons.collections4.CollectionUtils;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
public class SchemeBO {
public static List<SchemeListDTO> convert2ListDTO(Collection<SchemePO> schemes) {
if (CollectionUtils.isEmpty(schemes)) {
return Collections.emptyList();
}
return schemes.stream().map(schemePO -> {
return SchemeListDTO.builder()
.id(schemePO.getId())
.schemeNo(schemePO.getSchemeNo())
.schemeName(schemePO.getSchemeName())
.schemeDescription(schemePO.getSchemeDescription())
.forbiddenTag(schemePO.getForbiddenTag())
.build();
}
).collect(Collectors.toList());
}
}

@ -1,45 +0,0 @@
package com.engine.organization.entity.scheme.dto;
import com.cloudstore.eccom.pc.table.WeaTableType;
import com.engine.organization.annotation.OrganizationTable;
import com.engine.organization.annotation.OrganizationTableColumn;
import com.engine.organization.annotation.OrganizationTableOperate;
import com.engine.organization.annotation.TableTitle;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@OrganizationTable(pageId = "1594a04a-cced-11ec-a15f-00ffcbed7508", tableType = WeaTableType.CHECKBOX, operates = {@OrganizationTableOperate(text = "编辑", index = "0"), @OrganizationTableOperate(text = "删除", index = "1")})
public class SchemeListDTO {
@JsonSerialize(using = ToStringSerializer.class)
@OrganizationTableColumn(column = "id", display = false)
private Long id;
@OrganizationTableColumn(text = "编号", width = "25%", column = "schemeNo")
@TableTitle(title = "编号",dataIndex = "schemeNo",key = "schemeNo")
private String schemeNo;
@OrganizationTableColumn(text = "方案名称", width = "25%", column = "schemeName")
@TableTitle(title = "方案名称",dataIndex = "schemeName",key = "schemeName")
private String schemeName;
//薪资档案引用
@OrganizationTableColumn(text = "方案说明", width = "25%", column = "schemeDescription")
@TableTitle(title = "方案说明",dataIndex = "schemeDescription",key = "schemeDescription")
private String schemeDescription;
//默认使用
@OrganizationTableColumn(text = "禁用标记", width = "25%", column = "forbiddenTag")
@TableTitle(title = "禁用标记",dataIndex = "forbiddenTag",key = "forbiddenTag")
private Integer forbiddenTag;
}

@ -1,13 +1,10 @@
package com.engine.organization.entity.scheme.param;
import com.engine.organization.common.BaseQueryParam;
import com.engine.organization.util.db.DBType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
/**
*
@ -23,6 +20,7 @@ import weaver.conn.RecordSet;
@AllArgsConstructor
public class SchemeSearchParam extends BaseQueryParam {
private Long id;
//名称
private String schemeNo;

@ -1,5 +1,6 @@
package com.engine.organization.entity.scheme.po;
import com.engine.organization.entity.scheme.param.SchemeSearchParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -67,4 +68,21 @@ public class SchemePO {
.build();
}
public static SchemePO convertParamToPO(SchemeSearchParam param, Long employeeId) {
if (param == null) {
return null;
}
return SchemePO.builder()
.id(param.getId() == null ? 0 : param.getId())
.schemeNo(param.getSchemeNo() == null ? null : param.getSchemeNo())
.schemeName(param.getSchemeName() == null ? null : param.getSchemeName())
.schemeDescription(param.getSchemeDescription() == null ? null : param.getSchemeDescription())
.forbiddenTag(param.getForbiddenTag() == null ? 0 : param.getForbiddenTag())
.deleteType(0)
.createTime(new Date())
.updateTime(new Date())
.creator(employeeId)
.build();
}
}

@ -44,19 +44,19 @@ public class SchemeTableVO {
private Long id;
@OrganizationTableColumn(text = "编号", width = "25%", column = "schemeNo")
@OrganizationTableColumn(text = "编号", width = "25%", column = "scheme_no")
private String schemeNo;
/**
*
*/
@OrganizationTableColumn(text = "方案名称", width = "25%", column = "schemeName")
@OrganizationTableColumn(text = "方案名称", width = "25%", column = "scheme_name")
private String schemeName;
//薪资档案引用
@OrganizationTableColumn(text = "方案说明", width = "25%", column = "schemeDescription")
@OrganizationTableColumn(text = "方案说明", width = "25%", column = "scheme_description")
private String schemeDescription;
//默认使用
@OrganizationTableColumn(text = "禁用标记", width = "25%", column = "forbiddenTag")
@OrganizationTableColumn(text = "禁用标记", width = "25%", column = "forbidden_tag")
private Integer forbiddenTag;
}

@ -2,8 +2,10 @@ package com.engine.organization.mapper.scheme;
import com.engine.organization.entity.scheme.po.SchemePO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.Collection;
import java.util.List;
/**
@ -15,9 +17,55 @@ import java.util.List;
public interface SchemeMapper {
/**
* ID
* @param schemeNo
* @return
*/
@Select("select * from jcl_org_scheme t where scheme_no = #{schemeNo}")
List<SchemePO> listByNo(String schemeNo);
/**
* ID
* @param ids
* @return
*/
List<SchemePO> listSchemesById(@Param("ids") Collection<Long> ids);
/**
* null
* @param schemePO
* @return
*/
int insertIgnoreNull(SchemePO schemePO);
/**
*
* @param schemePO
* @return
*/
int updateScheme(SchemePO schemePO);
/**
*
* @param schemePO
* @return
*/
int updateForbiddenTagById(SchemePO schemePO);
/**
*
*
* @param schemePO
* @return
*/
int deleteScheme(SchemePO schemePO);
/**
*
*
* @param ids
*/
int deleteByIds(@Param("ids") Collection<Long> ids);
}

@ -27,6 +27,17 @@
, t.create_time
, t.update_time
</sql>
<select id="listSchemesById" parameterType="com.engine.organization.entity.scheme.po.SchemePO" resultMap="BaseResultMap">
select
<include refid="baseColumns"/>
from jcl_org_scheme t
WHERE delete_type = 0
AND id IN
<foreach collection="ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</select>
<insert id="insertIgnoreNull" parameterType="com.engine.organization.entity.scheme.po.SchemePO" keyProperty="id"
keyColumn="id" useGeneratedKeys="true">
@ -90,5 +101,45 @@
</if>
</trim>
</insert>
<update id="updateScheme" parameterType="com.engine.organization.entity.scheme.po.SchemePO">
update jcl_org_scheme
<set>
creator=#{creator},
delete_type=#{deleteType},
create_time=#{createTime},
update_time=#{updateTime},
scheme_no=#{schemeNo},
scheme_name=#{schemeName},
scheme_description=#{schemeDescription},
forbidden_tag=#{forbiddenTag},
</set>
WHERE id = #{id} AND delete_type = 0
</update>
<update id="updateForbiddenTagById" parameterType="com.engine.organization.entity.scheme.po.SchemePO">
update jcl_org_scheme
<set>
forbidden_tag=#{forbiddenTag},
</set>
WHERE id = #{id} AND delete_type = 0
</update>
<delete id="deleteScheme" parameterType="com.engine.organization.entity.scheme.po.SchemePO">
UPDATE jcl_org_scheme
SET delete_type=1
WHERE id = #{id}
AND delete_type = 0
</delete>
<update id="deleteByIds">
UPDATE jcl_org_scheme
SET delete_type = 1
WHERE delete_type = 0
AND id IN
<foreach collection="ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</update>
</mapper>

@ -1,5 +1,9 @@
package com.engine.organization.service;
import com.engine.organization.entity.scheme.param.SchemeSearchParam;
import org.apache.ibatis.annotations.Param;
import java.util.Collection;
import java.util.Map;
/**
@ -10,8 +14,43 @@ import java.util.Map;
**/
public interface SchemeService {
Map<String, Object> save(Map<String, Object> params);
/**
*
* @param params
* @return
*/
Map<String, Object> listPage(Map<String, Object> params);
/**
*
* @param param
* @return
*/
Map<String, Object> save(SchemeSearchParam param);
/**
*
* @param param
* @return
*/
Map<String, Object> updateScheme(SchemeSearchParam param);
/**
*
* @param params
*/
void updateForbiddenTagById(Map<String, Object> params);
/**
* ID
*
* @param ids
*/
void deleteByIds(@Param("ids") Collection<Long> ids);
/**
* ID
* @param param
*/
void deleteScheme(SchemeSearchParam param);
}

@ -3,22 +3,20 @@ 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.scheme.param.SchemeSearchParam;
import com.engine.organization.entity.scheme.po.SchemePO;
import com.engine.organization.entity.scheme.vo.SchemeTableVO;
import com.engine.organization.exception.OrganizationRunTimeException;
import com.engine.organization.mapper.scheme.SchemeMapper;
import com.engine.organization.service.SchemeService;
import com.engine.organization.util.OrganizationAssert;
import com.engine.organization.util.db.DBType;
import com.engine.organization.util.db.MapperProxyFactory;
import com.weaverboot.frame.ioc.anno.classAnno.WeaIocService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.session.SqlSession;
import weaver.conn.RecordSet;
import weaver.conn.mybatis.MyBatisFactory;
import weaver.general.Util;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -32,34 +30,65 @@ import java.util.Map;
@WeaIocService
public class SchemeServiceImpl extends Service implements SchemeService {
@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();
}
@Override
public Map<String, Object> save(Map<String, Object> params) {
public Map<String, Object> save(SchemeSearchParam param) {
Map<String, Object> apidatas = new HashMap<String, Object>(16);
SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class);
List<SchemePO> list = mapper.listByNo(Util.null2String(params.get("scheme_no")));
if (CollectionUtils.isNotEmpty(list)) {
throw new OrganizationRunTimeException("编号不允许重复");
}
OrganizationAssert.notEmpty(list,"");
SchemePO schemePO = SchemePO.convertToPO(params, (long) user.getUID());
List<SchemePO> list = mapper.listByNo(Util.null2String(param.getSchemeNo()));
OrganizationAssert.isEmpty(list, "编号不允许重复");
SchemePO schemePO = SchemePO.convertParamToPO(param, (long) user.getUID());
mapper.insertIgnoreNull(schemePO);
return apidatas;
}
@Override
public Map<String, Object> updateScheme(SchemeSearchParam param) {
Map<String, Object> apidatas = new HashMap<String, Object>();
SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class);
List<SchemePO> list = mapper.listByNo(Util.null2String(param.getSchemeNo()));
OrganizationAssert.isEmpty(list, "当前编号已存在");
SchemePO schemePO = SchemePO.convertParamToPO(param, (long) user.getUID());
mapper.updateScheme(schemePO);
return apidatas;
}
@Override
public Map<String, Object> listPage(Map<String, Object> params) {
OrganizationWeaTable<SchemeTableVO> table = new OrganizationWeaTable<>(user, SchemeTableVO.class);
public void updateForbiddenTagById(Map<String, Object> params) {
SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class);
int id = Integer.parseInt((String) params.get("id"));
boolean flag = (Boolean) params.get("forbidden_tag");
SchemePO schemePO = SchemePO.builder().id(id).forbiddenTag(flag ? 1 : 0).build();
mapper.updateForbiddenTagById(schemePO);
}
String sqlWhere = buildSqlWhere(params);
table.setSqlwhere(sqlWhere);
WeaResultMsg result = new WeaResultMsg(false);
String tableString = table.getTableString();
result.putAll(table.makeDataResult());
result.success();
return result.getResultMap();
@Override
public void deleteByIds(Collection<Long> ids) {
OrganizationAssert.notEmpty(ids, "请选择要删除的数据");
SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class);
List<SchemePO> schemePOS = mapper.listSchemesById(ids);
OrganizationAssert.notEmpty(schemePOS, "选择的数据不存在,或数据已删除");
mapper.deleteByIds(ids);
}
@Override
public void deleteScheme(SchemeSearchParam param) {
SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class);
SchemePO schemePO = SchemePO.convertParamToPO(param, (long) user.getUID());
mapper.deleteScheme(schemePO);
}
/**
@ -76,7 +105,7 @@ public class SchemeServiceImpl extends Service implements SchemeService {
sqlWhere += " AND scheme_name " + dbType.like(name);
}
String no = (String) params.get("no");
if (StringUtils.isNotBlank(name)) {
if (StringUtils.isNotBlank(no)) {
sqlWhere += " AND scheme_no " + dbType.like(no);
}
return sqlWhere;

@ -2,19 +2,22 @@ package com.engine.organization.web;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.organization.entity.scheme.dto.SchemeListDTO;
import com.engine.organization.entity.scheme.param.SchemeSearchParam;
import com.engine.organization.util.response.ReturnResult;
import com.engine.organization.wrapper.SchemeWrapper;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.*;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.Collection;
import java.util.Map;
public class SchemeController {
@ -29,14 +32,12 @@ public class SchemeController {
*
* @param request
* @param response
* @param searchCondition
* @return
*/
@GET
@Path("/getTable")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult getTable(@Context HttpServletRequest request, @Context HttpServletResponse response,
@QueryParam("searchCondition") String searchCondition
public ReturnResult listScheme(@Context HttpServletRequest request, @Context HttpServletResponse response
) {
try {
User user = HrmUserVarify.getUser(request, response);
@ -57,14 +58,100 @@ public class SchemeController {
@POST
@Path("/save")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult saveFrom(@Context HttpServletRequest request, @Context HttpServletResponse response) {
// try {
public ReturnResult saveScheme(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SchemeSearchParam param) {
try {
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> save = getSchemeWrapper(user).save(ParamUtil.request2Map(request));
Map<String, Object> save = getSchemeWrapper(user).save(param);
return ReturnResult.successed(save);
// } catch (Exception e) {
// return ReturnResult.exceptionHandle(e.getMessage());
// }
} catch (Exception e) {
return ReturnResult.exceptionHandle(e.getMessage());
}
}
/**
*
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/updateScheme")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult updateScheme(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SchemeSearchParam param) {
try {
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> update = getSchemeWrapper(user).updateScheme(param);
return ReturnResult.successed(update);
} catch (Exception e) {
return ReturnResult.exceptionHandle(e.getMessage());
}
}
/**
*
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/updateForbiddenTagById")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult updateForbiddenTagById(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Map<String, Object> param) {
try {
User user = HrmUserVarify.getUser(request, response);
getSchemeWrapper(user).updateForbiddenTagById(param);
return ReturnResult.successed();
} catch (Exception e) {
return ReturnResult.exceptionHandle(e.getMessage());
}
}
/**
*
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/deleteScheme")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult deleteScheme(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SchemeSearchParam param) {
try {
User user = HrmUserVarify.getUser(request, response);
getSchemeWrapper(user).deleteScheme(param);
return ReturnResult.successed();
} catch (Exception e) {
return ReturnResult.exceptionHandle(e.getMessage());
}
}
/**
* ID
*
* @param request
* @param response
* @param ids
* @return
*/
@POST
@Path("/deleteByIds")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult deleteByIds(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection<Long> ids) {
try {
User user = HrmUserVarify.getUser(request, response);
getSchemeWrapper(user).deleteByIds(ids);
return ReturnResult.successed();
} catch (Exception e) {
return ReturnResult.exceptionHandle(e.getMessage());
}
}
}

@ -2,10 +2,13 @@ package com.engine.organization.wrapper;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.organization.entity.scheme.param.SchemeSearchParam;
import com.engine.organization.service.SchemeService;
import com.engine.organization.service.impl.SchemeServiceImpl;
import org.apache.ibatis.annotations.Param;
import weaver.hrm.User;
import java.util.Collection;
import java.util.Map;
/**
@ -17,13 +20,62 @@ import java.util.Map;
public class SchemeWrapper extends Service {
private SchemeService getSchemeService(User user) {
return ServiceUtil.getService(SchemeServiceImpl.class,user);
return ServiceUtil.getService(SchemeServiceImpl.class, user);
}
/**
*
*
* @param params
* @return
*/
public Map<String, Object> listPage(Map<String, Object> params) {
return getSchemeService(user).listPage(params);
}
public Map<String, Object> save(Map<String, Object> params) {
return getSchemeService(user).save(params);
/**
*
*
* @param param
* @return
*/
public Map<String, Object> save(SchemeSearchParam param) {
return getSchemeService(user).save(param);
}
/**
*
*
* @param param
* @return
*/
public Map<String, Object> updateScheme(SchemeSearchParam param) {
return getSchemeService(user).updateScheme(param);
}
/**
*
* @param params
*/
public void updateForbiddenTagById(Map<String, Object> params) {
getSchemeService(user).updateForbiddenTagById(params);
}
/**
* ID
*
* @param ids
*/
public void deleteByIds(@Param("ids") Collection<Long> ids) {
getSchemeService(user).deleteByIds(ids);
}
/**
* ID
*
* @param param
*/
public void deleteScheme(SchemeSearchParam param) {
getSchemeService(user).deleteScheme(param);
}
}

Loading…
Cancel
Save