Pre Merge pull request !89 from reset/feature/cl

pull/89/MERGE
reset 3 years ago committed by Gitee
commit 9b42611fac
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

@ -5,6 +5,7 @@ import com.engine.organization.entity.extend.po.ExtendTitlePO;
import com.engine.organization.entity.fieldset.vo.TypeTreeVO; import com.engine.organization.entity.fieldset.vo.TypeTreeVO;
import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper;
import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.db.MapperProxyFactory;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import java.util.Collections; import java.util.Collections;
@ -29,7 +30,9 @@ public class ExtendGroupBO {
List<TypeTreeVO> typeTreeVOS = extendGroupPOS.stream().map(e -> List<TypeTreeVO> typeTreeVOS = extendGroupPOS.stream().map(e ->
TypeTreeVO.builder() TypeTreeVO.builder()
.canClick(true) .canClick(true)
.addChild(e.getPid() == null)
.domid(String.valueOf(e.getId())) .domid(String.valueOf(e.getId()))
.childs(Lists.newArrayList())
.hasGroup(isHasGroup(e.getId())) .hasGroup(isHasGroup(e.getId()))
.isShow(e.getIsShow()) .isShow(e.getIsShow())
.key(e.getId()) .key(e.getId())
@ -42,7 +45,7 @@ public class ExtendGroupBO {
Map<Long, List<TypeTreeVO>> collects = typeTreeVOS.stream().filter(item -> item.getPid() != null).collect(Collectors.groupingBy(TypeTreeVO :: getPid)); Map<Long, List<TypeTreeVO>> collects = typeTreeVOS.stream().filter(item -> item.getPid() != null).collect(Collectors.groupingBy(TypeTreeVO :: getPid));
return typeTreeVOS.stream().peek(e -> {e.setChilds(collects.get(e.getKey())); e.setHaschild(collects.get(e.getKey()) != null && collects.get(e.getKey()).size() > 0); return typeTreeVOS.stream().peek(e -> {e.setChilds(collects.get(e.getKey())); e.setHaschild(collects.get(e.getKey()) != null && collects.get(e.getKey()).size() > 0);
e.setAddChild(collects.get(e.getKey()) != null && collects.get(e.getKey()).size() > 0);}).filter(item -> item.getPid() == null).collect(Collectors.toList()); }).filter(item -> item.getPid() == null).collect(Collectors.toList());
} }

@ -40,6 +40,8 @@ public class ExtendGroupPO {
private String isShow; private String isShow;
private Integer showOrder;
private Long creator; private Long creator;
private int deleteType; private int deleteType;
private Date createTime; private Date createTime;

@ -20,9 +20,11 @@ import java.util.List;
@AllArgsConstructor @AllArgsConstructor
public class FieldTypeTreeParam { public class FieldTypeTreeParam {
private String data; //信息维护json数据
private Long id; private Long id;
private Long parentid; private Long parentId;
private String name; private String name;

@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* @description: * @description:
@ -48,10 +49,13 @@ public interface ExtendGroupMapper {
*/ */
String getGroupNameById(@Param("id") String id); String getGroupNameById(@Param("id") String id);
void insertIgnoreNull(ExtendGroupPO extendGroupPO);
void update(@Param("id")Long id, @Param("name")String name);
void insertIgnoreNull(ExtendGroupPO extendGroupPO); void delete(@Param("id") Long id);
void updateNameAndOrder(@Param("id")Long id, @Param("groupName")String groupName, @Param("showOrder")Integer showOrder);
void update(@Param("id")Long id, @Param("name")String name); void batchDelete(@Param("ids")Set<Long> removeSet);
} }

@ -134,4 +134,31 @@
WHERE id = #{id} AND delete_type = 0 WHERE id = #{id} AND delete_type = 0
</update> </update>
<delete id="delete" >
update jcl_field_extendgroup
<set>
delete_type=1,
</set>
WHERE id = #{id} AND delete_type = 0
</delete>
<update id="updateNameAndOrder" >
update jcl_field_extendgroup
<set>
group_name=#{groupName},
show_order=#{showOrder}
</set>
WHERE id = #{id} AND delete_type = 0
</update>
<delete id="batchDelete">
UPDATE jcl_field_extendgroup
SET delete_type = 1
WHERE delete_type = 0
AND id IN
<foreach collection="ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper> </mapper>

@ -81,4 +81,16 @@ public interface FieldDefinedService {
*/ */
Map<String, Object> getFieldDefinedInfo(ExtendTitleSaveParam param); Map<String, Object> getFieldDefinedInfo(ExtendTitleSaveParam param);
/**
*
* @param id
*/
void deleteTree(Long id);
/**
*
* @param moduleTypeEnum
* @param fieldTypeTreeParam
*/
void saveTree(ModuleTypeEnum moduleTypeEnum, FieldTypeTreeParam fieldTypeTreeParam);
} }

@ -27,6 +27,7 @@ import org.apache.commons.lang.StringUtils;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
/** /**
* @Author weaver_cl * @Author weaver_cl
@ -180,10 +181,14 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
@Override @Override
public void changeTree(ModuleTypeEnum moduleTypeEnum, FieldTypeTreeParam fieldTypeTreeParam) { public void changeTree(ModuleTypeEnum moduleTypeEnum, FieldTypeTreeParam fieldTypeTreeParam) {
if (fieldTypeTreeParam.getId() == null) { if (fieldTypeTreeParam.getId() == null) {
ExtendGroupPO extendGroupPO = buildExtendGroupType(moduleTypeEnum, fieldTypeTreeParam); List<ExtendGroupPO> extendGroupPOList = MapperProxyFactory.getProxy(ExtendGroupMapper.class).listGroupByPid(fieldTypeTreeParam.getParentId());
ExtendGroupPO extendGroup = extendGroupPOList.stream().max(Comparator.comparing(ExtendGroupPO::getShowOrder)).get();
ExtendGroupPO extendGroupPO = buildExtendGroupType(moduleTypeEnum, fieldTypeTreeParam,extendGroup.getShowOrder());
MapperProxyFactory.getProxy(ExtendGroupMapper.class).insertIgnoreNull(extendGroupPO); MapperProxyFactory.getProxy(ExtendGroupMapper.class).insertIgnoreNull(extendGroupPO);
//默认新增title //默认新增title
ExtendTitlePO extendTitlePO = buildExtendTitleType(extendGroupPO); List<ExtendTitlePO> titlesByGroupID = getExtendTitleMapper().getTitlesByGroupID(extendGroup.getId());
ExtendTitlePO extendTitle = titlesByGroupID.stream().max(Comparator.comparing(ExtendTitlePO::getShowOrder)).get();
ExtendTitlePO extendTitlePO = buildExtendTitleType(extendGroupPO,extendTitle.getShowOrder());
MapperProxyFactory.getProxy(ExtendTitleMapper.class).insertIgnoreNull(extendTitlePO); MapperProxyFactory.getProxy(ExtendTitleMapper.class).insertIgnoreNull(extendTitlePO);
} else { } else {
MapperProxyFactory.getProxy(ExtendGroupMapper.class).update(fieldTypeTreeParam.getId(), fieldTypeTreeParam.getName()); MapperProxyFactory.getProxy(ExtendGroupMapper.class).update(fieldTypeTreeParam.getId(), fieldTypeTreeParam.getName());
@ -198,14 +203,59 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
@Override @Override
public Map<String, Object> getFieldDefinedInfo(ExtendTitleSaveParam param) { public Map<String, Object> getFieldDefinedInfo(ExtendTitleSaveParam param) {
return null; return null;
} }
private ExtendTitlePO buildExtendTitleType(ExtendGroupPO extendGroupPO) { @Override
public void deleteTree(Long id) {
MapperProxyFactory.getProxy(ExtendGroupMapper.class).delete(id);
}
@Override
public void saveTree(ModuleTypeEnum moduleTypeEnum, FieldTypeTreeParam fieldTypeTreeParam) {
List<Long> collect = MapperProxyFactory.getProxy(ExtendGroupMapper.class)
.listGroupByPid(fieldTypeTreeParam.getParentId()).stream().map(ExtendGroupPO::getId).collect(Collectors.toList());
Integer extendType = moduleTypeEnum.getValue();
List<ExtendGroupPO> extendGroupPOS = JSONArray.parseArray(fieldTypeTreeParam.getData(),ExtendGroupPO.class);
List<Long> collect1 = extendGroupPOS.stream().map(ExtendGroupPO::getId).collect(Collectors.toList());
Set<Long> removeSet = new HashSet<>();
collect1.forEach(e->{
if(!collect.contains(e)){
removeSet.add(e);
}
});
MapperProxyFactory.getProxy(ExtendGroupMapper.class).batchDelete(removeSet);
int showOrder = 0;
extendGroupPOS.forEach(e -> {
e.setExtendType(extendType);
e.setPid(fieldTypeTreeParam.getParentId());
e.setIsShow(fieldTypeTreeParam.getIsShow());
e.setShowOrder(showOrder+1);
e.setCreator((long)user.getUID());
e.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue());
e.setCreateTime(new Date());
e.setUpdateTime(new Date());
if (e.getId() == null){//新增
MapperProxyFactory.getProxy(ExtendGroupMapper.class).insertIgnoreNull(e);
}else { //更新
MapperProxyFactory.getProxy(ExtendGroupMapper.class).updateNameAndOrder(e.getId(),e.getGroupName(),e.getShowOrder());
}
});
}
private ExtendTitlePO buildExtendTitleType(ExtendGroupPO extendGroupPO,Integer max) {
return ExtendTitlePO.builder() return ExtendTitlePO.builder()
.groupId(extendGroupPO.getId()) .groupId(extendGroupPO.getId())
.title(extendGroupPO.getGroupName()) .title(extendGroupPO.getGroupName())
.showOrder(1) .showOrder(++max)
.isShow("1") .isShow("1")
.creator((long) user.getUID()) .creator((long) user.getUID())
.deleteType(DeleteTypeEnum.NOT_DELETED.getValue()) .deleteType(DeleteTypeEnum.NOT_DELETED.getValue())
@ -214,15 +264,16 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
} }
private ExtendGroupPO buildExtendGroupType(ModuleTypeEnum moduleTypeEnum, FieldTypeTreeParam fieldTypeTreeParam) { private ExtendGroupPO buildExtendGroupType(ModuleTypeEnum moduleTypeEnum, FieldTypeTreeParam fieldTypeTreeParam,Integer max) {
return ExtendGroupPO.builder() return ExtendGroupPO.builder()
.extendType(moduleTypeEnum.getValue()) .extendType(moduleTypeEnum.getValue())
.groupName(fieldTypeTreeParam.getName()) .groupName(fieldTypeTreeParam.getName())
.showOrder(++max)
.creator((long) user.getUID()) .creator((long) user.getUID())
.deleteType(DeleteTypeEnum.NOT_DELETED.getValue()) .deleteType(DeleteTypeEnum.NOT_DELETED.getValue())
.createTime(new Date()) .createTime(new Date())
.updateTime(new Date()) .updateTime(new Date())
.pid(fieldTypeTreeParam.getParentid()) .pid(fieldTypeTreeParam.getParentId())
.isShow(fieldTypeTreeParam.getIsShow() == null ? "1" : fieldTypeTreeParam.getIsShow()).build(); .isShow(fieldTypeTreeParam.getIsShow() == null ? "1" : fieldTypeTreeParam.getIsShow()).build();
} }

@ -47,10 +47,10 @@ public class FieldDefinedController {
@Path("/{moduleTypeEnum}/saveTree") @Path("/{moduleTypeEnum}/saveTree")
@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON)
public ReturnResult saveTree(@Context HttpServletRequest request, @Context HttpServletResponse response, public ReturnResult saveTree(@Context HttpServletRequest request, @Context HttpServletResponse response,
@PathParam("moduleTypeEnum") ModuleTypeEnum moduleTypeEnum) { @PathParam("moduleTypeEnum") ModuleTypeEnum moduleTypeEnum,@RequestBody FieldTypeTreeParam fieldTypeTreeParam) {
try { try {
User user = HrmUserVarify.getUser(request, response); User user = HrmUserVarify.getUser(request, response);
return getFieldDefinedWrapper(user).getTree(moduleTypeEnum); return getFieldDefinedWrapper(user).saveTree(moduleTypeEnum,fieldTypeTreeParam);
} catch (Exception e) { } catch (Exception e) {
return ReturnResult.exceptionHandle(e.getMessage()); return ReturnResult.exceptionHandle(e.getMessage());
} }
@ -69,6 +69,21 @@ public class FieldDefinedController {
} }
} }
@POST
@Path("/{moduleTypeEnum}/deleteTree")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult deleteTree(@Context HttpServletRequest request, @Context HttpServletResponse response,
@PathParam("moduleTypeEnum") ModuleTypeEnum moduleTypeEnum, @RequestBody FieldTypeTreeParam fieldTypeTreeParam) {
try {
User user = HrmUserVarify.getUser(request, response);
return getFieldDefinedWrapper(user).deleteTree(fieldTypeTreeParam.getId());
} catch (Exception e) {
return ReturnResult.exceptionHandle(e.getMessage());
}
}
@GET @GET
@Path("/{moduleTypeEnum}/getTabInfo") @Path("/{moduleTypeEnum}/getTabInfo")
@ -127,10 +142,10 @@ public class FieldDefinedController {
@POST @POST
@Path("/{moduleTypeEnum}/deleteTitle") @Path("/{moduleTypeEnum}/deleteTitle")
@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON)
public ReturnResult deleteTitle(@Context HttpServletRequest request, @Context HttpServletResponse response, @PathParam("moduleTypeEnum") ModuleTypeEnum moduleTypeEnum, @QueryParam("id") Long id) { public ReturnResult deleteTitle(@Context HttpServletRequest request, @Context HttpServletResponse response, @PathParam("moduleTypeEnum") ModuleTypeEnum moduleTypeEnum, @RequestBody ExtendTitleSaveParam param) {
try { try {
User user = HrmUserVarify.getUser(request, response); User user = HrmUserVarify.getUser(request, response);
return ReturnResult.successed(getFieldDefinedWrapper(user).deleteTitle(id)); return ReturnResult.successed(getFieldDefinedWrapper(user).deleteTitle(param.getId()));
} catch (Exception e) { } catch (Exception e) {
return ReturnResult.exceptionHandle(e.getMessage()); return ReturnResult.exceptionHandle(e.getMessage());
} }

@ -66,9 +66,18 @@ public class FieldDefinedWrapper extends Service {
return ReturnResult.successed(); return ReturnResult.successed();
} }
public int deleteTitle(Long id) { public int deleteTitle(Long id) {
return getFieldDefinedService(user).deleteTitle(id); return getFieldDefinedService(user).deleteTitle(id);
} }
public ReturnResult deleteTree(Long id) {
getFieldDefinedService(user).deleteTree(id);
return ReturnResult.successed();
}
public ReturnResult saveTree(ModuleTypeEnum moduleTypeEnum, FieldTypeTreeParam fieldTypeTreeParam) {
getFieldDefinedService(user).saveTree(moduleTypeEnum, fieldTypeTreeParam);
return ReturnResult.successed();
}
} }

Loading…
Cancel
Save