From 6351109b7939ce73dc51e0d34f102ed956318df1 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 26 Aug 2022 17:36:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF=E5=88=86?= =?UTF-8?q?=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hrmresource/ResourceBasicInfoMapper.java | 24 ++- .../hrmresource/ResourceBasicInfoMapper.xml | 139 +++++++++++++++++- .../service/ResourceBasicInfoService.java | 39 +++++ .../impl/ResourceBasicInfoServiceImpl.java | 64 +++++++- .../web/ResourceBasicInfoController.java | 51 ++++++- .../wrapper/ResourceBasicInfoWrapper.java | 55 +++++-- 6 files changed, 344 insertions(+), 28 deletions(-) diff --git a/src/com/engine/organization/mapper/hrmresource/ResourceBasicInfoMapper.java b/src/com/engine/organization/mapper/hrmresource/ResourceBasicInfoMapper.java index a12a8c3e..3658860c 100644 --- a/src/com/engine/organization/mapper/hrmresource/ResourceBasicInfoMapper.java +++ b/src/com/engine/organization/mapper/hrmresource/ResourceBasicInfoMapper.java @@ -2,6 +2,7 @@ package com.engine.organization.mapper.hrmresource; import com.engine.organization.entity.TreeData; +import com.engine.organization.entity.hrmresource.po.ResourceItemClassPO; import com.engine.organization.entity.hrmresource.po.ResourceItemPO; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Param; @@ -25,17 +26,30 @@ public interface ResourceBasicInfoMapper { List> browserDatas(@Param("ids") Collection ids); - ResourceItemPO getResourceItemByFid(@Param("fid")Integer fid); + ResourceItemPO getResourceItemByFid(@Param("fid") Integer fid); - List selectItemByIds(@Param("ids")Collection ids); + List selectItemByIds(@Param("ids") Collection ids); - int deleteByIds(@Param("ids")Collection ids); + int deleteByIds(@Param("ids") Collection ids); - int recoverByIds(@Param("ids")Collection ids); + int recoverByIds(@Param("ids") Collection ids); - List selectItemByFNo(@Param("fno")String fno,@Param("fclassid")Integer fclassid); + List selectItemByFNo(@Param("fno") String fno, @Param("fclassid") Integer fclassid); int insertIgnoreNull(ResourceItemPO resourceItemPO); int update(ResourceItemPO resourceItemPO); + + ResourceItemClassPO getResourceItemClassByFid(@Param("fid") Integer fid); + + List selectItemClassByFNo(@Param("fno") String fno, @Param("fid") Integer fid); + + int saveResourceItemClass(ResourceItemClassPO itemClassPO); + + int updateResourceItemClass(ResourceItemClassPO itemClassPO); + + int deleteResourceItemClass(@Param("fid") Integer fid); + + List getItemByClassId(@Param("fclassid") Integer fclassid); + } diff --git a/src/com/engine/organization/mapper/hrmresource/ResourceBasicInfoMapper.xml b/src/com/engine/organization/mapper/hrmresource/ResourceBasicInfoMapper.xml index 8825c0e2..9039d6f5 100644 --- a/src/com/engine/organization/mapper/hrmresource/ResourceBasicInfoMapper.xml +++ b/src/com/engine/organization/mapper/hrmresource/ResourceBasicInfoMapper.xml @@ -10,6 +10,12 @@ + + + + + + @@ -33,11 +39,19 @@ - @@ -53,10 +67,18 @@ @@ -81,7 +103,8 @@ - INSERT INTO jcl_org_item @@ -138,9 +161,10 @@ + - + @@ -152,4 +176,105 @@ WHERE fid = #{fid} AND fdelete = 0 + + + + + + INSERT INTO jcl_org_itemclass + + + fno, + + + fname, + + + fmemo, + + + creator, + + + create_time, + + + update_time, + + + + + #{fno}, + + + #{fname}, + + + #{fmemo}, + + + #{creator}, + + + #{createTime}, + + + #{updateTime}, + + + + + + + + + update jcl_org_itemclass + + fname=#{fname}, + fmemo=#{fmemo}, + update_time=#{updateTime}, + + WHERE fid = #{fid} + + + + delete + from jcl_org_itemclass + where fid = #{fid} + \ No newline at end of file diff --git a/src/com/engine/organization/service/ResourceBasicInfoService.java b/src/com/engine/organization/service/ResourceBasicInfoService.java index f9a68c12..2a5f44bd 100644 --- a/src/com/engine/organization/service/ResourceBasicInfoService.java +++ b/src/com/engine/organization/service/ResourceBasicInfoService.java @@ -2,6 +2,7 @@ package com.engine.organization.service; import com.api.browser.bean.SearchConditionGroup; import com.engine.organization.entity.fieldset.vo.TypeTreeVO; +import com.engine.organization.entity.hrmresource.po.ResourceItemClassPO; import com.engine.organization.entity.hrmresource.po.ResourceItemPO; import java.util.Collection; @@ -18,6 +19,7 @@ public interface ResourceBasicInfoService { /** * 列表 + * * @param params * @return */ @@ -25,12 +27,14 @@ public interface ResourceBasicInfoService { /** * 获取左侧树 + * * @return */ List getTreeData(); /** * 新增编辑表单 + * * @param params * @return */ @@ -38,6 +42,7 @@ public interface ResourceBasicInfoService { /** * 删除/批量删除人员信息资料 + * * @param ids * @return */ @@ -45,6 +50,7 @@ public interface ResourceBasicInfoService { /** * 恢复人员信息资料 + * * @param ids * @return */ @@ -52,6 +58,7 @@ public interface ResourceBasicInfoService { /** * 保存人员信息资料 + * * @param resourceItemPO * @return */ @@ -59,6 +66,7 @@ public interface ResourceBasicInfoService { /** * 根据id获取人员信息资料 + * * @param fid * @return */ @@ -66,8 +74,39 @@ public interface ResourceBasicInfoService { /** * 更新人员信息资料 + * * @param resourceItemPO * @return */ int update(ResourceItemPO resourceItemPO); + + + /** + * 分类,新增编辑表单 + * @param params + * @return + */ + List getItemClassForm(Map params); + + /** + * 新增分类 + * @param itemClassPO + * @return + */ + int saveResourceItemClass(ResourceItemClassPO itemClassPO); + + /** + * 更新分类 + * @param itemClassPO + * @return + */ + int updateResourceItemClass(ResourceItemClassPO itemClassPO); + + /** + * 删除分类 + * @param fid + * @return + */ + int deleteResourceItemClass(Integer fid); + } diff --git a/src/com/engine/organization/service/impl/ResourceBasicInfoServiceImpl.java b/src/com/engine/organization/service/impl/ResourceBasicInfoServiceImpl.java index 1c18f783..12b4f0ec 100644 --- a/src/com/engine/organization/service/impl/ResourceBasicInfoServiceImpl.java +++ b/src/com/engine/organization/service/impl/ResourceBasicInfoServiceImpl.java @@ -9,6 +9,7 @@ import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.entity.DeleteParam; import com.engine.organization.entity.TreeData; import com.engine.organization.entity.fieldset.vo.TypeTreeVO; +import com.engine.organization.entity.hrmresource.po.ResourceItemClassPO; import com.engine.organization.entity.hrmresource.po.ResourceItemPO; import com.engine.organization.entity.hrmresource.vo.ResourceBasicInfoVO; import com.engine.organization.mapper.hrmresource.ResourceBasicInfoMapper; @@ -18,6 +19,7 @@ import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.Util; @@ -42,13 +44,13 @@ public class ResourceBasicInfoServiceImpl extends Service implements ResourceBas @Override public Map listPage(Map params) { - Map resultMap = new HashMap<>(); + Map resultMap = new HashMap<>(); boolean hasRight = HasRightUtil.hasRight(user, RIGHT_NAME, true); resultMap.put("hasRight", hasRight); if (!hasRight) { return resultMap; } - OrganizationWeaTable table = new OrganizationWeaTable<>(user,ResourceBasicInfoVO.class); + OrganizationWeaTable table = new OrganizationWeaTable<>(user, ResourceBasicInfoVO.class); String sqlWhere = buildSqlWhere(params); table.setSqlwhere(sqlWhere); WeaResultMsg result = new WeaResultMsg(false); @@ -99,9 +101,9 @@ public class ResourceBasicInfoServiceImpl extends Service implements ResourceBas fName.setRules("required|string"); SearchConditionItem fMemo = OrganizationFormItemUtil.textareaItem(user, 2, 17, true, 2, 60, "说明", "fmemo"); - if(StringUtils.isNotBlank(id)) { + if (StringUtils.isNotBlank(id)) { ResourceItemPO resourceItemPO = getResourceBasicInfoMapper().getResourceItemByFid(Integer.parseInt(id)); - OrganizationAssert.notNull(resourceItemPO,"选择的数据不存在"); + OrganizationAssert.notNull(resourceItemPO, "选择的数据不存在"); BrowserBean browserBean = resourceTypeItem.getBrowserConditionParam(); List> maps = getResourceBasicInfoMapper().browserDatas(DeleteParam.builder().ids(resourceItemPO.getFid().toString()).build().getIds()); browserBean.setReplaceDatas(maps); @@ -135,8 +137,8 @@ public class ResourceBasicInfoServiceImpl extends Service implements ResourceBas @Override public int save(ResourceItemPO resourceItemPO) { - List list = getResourceBasicInfoMapper().selectItemByFNo(resourceItemPO.getFno(),resourceItemPO.getFclassid()); - OrganizationAssert.isEmpty(list,"编号不允许重复"); + List list = getResourceBasicInfoMapper().selectItemByFNo(resourceItemPO.getFno(), resourceItemPO.getFclassid()); + OrganizationAssert.isEmpty(list, "编号不允许重复"); return getResourceBasicInfoMapper().insertIgnoreNull(resourceItemPO); } @@ -150,6 +152,56 @@ public class ResourceBasicInfoServiceImpl extends Service implements ResourceBas return getResourceBasicInfoMapper().update(resourceItemPO); } + @Override + public List getItemClassForm(Map params) { + String id = Util.null2String(params.get("fid")); + List selectItems = new ArrayList<>(); + List addGroups = new ArrayList<>(); + SearchConditionItem fNo = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "编号", "fno"); + fNo.setRules("required|string"); + SearchConditionItem fName = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "名称", "fname"); + fName.setRules("required|string"); + SearchConditionItem fMemo = OrganizationFormItemUtil.textareaItem(user, 2, 17, true, 2, 60, "说明", "fmemo"); + + if (StringUtils.isNotBlank(id)) { + ResourceItemClassPO resourceItemClassPO = getResourceBasicInfoMapper().getResourceItemClassByFid(Integer.parseInt(id)); + OrganizationAssert.notNull(resourceItemClassPO, "选择的数据不存在"); + fNo.setValue(resourceItemClassPO.getFno()); + fNo.setViewAttr(1); + fName.setValue(resourceItemClassPO.getFname()); + fMemo.setValue(resourceItemClassPO.getFmemo()); + } + selectItems.add(fNo); + selectItems.add(fName); + selectItems.add(fMemo); + addGroups.add(new SearchConditionGroup("基本信息", true, selectItems)); + return addGroups; + } + + @Override + public int saveResourceItemClass(ResourceItemClassPO itemClassPO) { + List list = getResourceBasicInfoMapper().selectItemClassByFNo(itemClassPO.getFno(), null); + OrganizationAssert.isEmpty(list, "编号不允许重复"); + itemClassPO.setCreator((long) user.getUID()); + itemClassPO.setCreateTime(new Date()); + return getResourceBasicInfoMapper().saveResourceItemClass(itemClassPO); + } + + @Override + public int updateResourceItemClass(ResourceItemClassPO itemClassPO) { + itemClassPO.setUpdateTime(new Date()); + return getResourceBasicInfoMapper().updateResourceItemClass(itemClassPO); + } + + @Override + public int deleteResourceItemClass(Integer fid) { + OrganizationAssert.notNull(fid, "选择的数据不存在"); + // 判断该分类下是否有数据 + List itemByClassId = getResourceBasicInfoMapper().getItemByClassId(fid); + OrganizationAssert.isTrue(CollectionUtils.isEmpty(itemByClassId), "当前分类已被禁用,无法删除"); + return getResourceBasicInfoMapper().deleteResourceItemClass(fid); + } + private String buildSqlWhere(Map params) { DBType dbType = DBType.get(new RecordSet().getDBType()); String sqlWhere = " where 1 = 1 "; diff --git a/src/com/engine/organization/web/ResourceBasicInfoController.java b/src/com/engine/organization/web/ResourceBasicInfoController.java index 6975d531..99e53cb3 100644 --- a/src/com/engine/organization/web/ResourceBasicInfoController.java +++ b/src/com/engine/organization/web/ResourceBasicInfoController.java @@ -3,6 +3,7 @@ package com.engine.organization.web; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; import com.engine.organization.entity.DeleteParam; +import com.engine.organization.entity.hrmresource.po.ResourceItemClassPO; import com.engine.organization.entity.hrmresource.po.ResourceItemPO; import com.engine.organization.util.response.ReturnResult; import com.engine.organization.wrapper.ResourceBasicInfoWrapper; @@ -29,7 +30,7 @@ import java.util.Map; public class ResourceBasicInfoController { private ResourceBasicInfoWrapper getResourceBasicInfoWrapper(User user) { - return ServiceUtil.getService(ResourceBasicInfoWrapper.class,user); + return ServiceUtil.getService(ResourceBasicInfoWrapper.class, user); } @GET @@ -134,5 +135,53 @@ public class ResourceBasicInfoController { } } + @GET + @Path("/getItemClassForm") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getItemClassForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getResourceBasicInfoWrapper(user).getItemClassForm(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + @POST + @Path("/saveResourceItemClass") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult saveResourceItemClass(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody ResourceItemClassPO resourceItemClassPO) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getResourceBasicInfoWrapper(user).saveResourceItemClass(resourceItemClassPO)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + @POST + @Path("/updateResourceItemClass") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updateResourceItemClass(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody ResourceItemClassPO resourceItemClassPO) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getResourceBasicInfoWrapper(user).updateResourceItemClass(resourceItemClassPO)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + @POST + @Path("/deleteResourceItemClass") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult deleteResourceItemClass(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Integer fid) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getResourceBasicInfoWrapper(user).deleteResourceItemClass(fid)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } } diff --git a/src/com/engine/organization/wrapper/ResourceBasicInfoWrapper.java b/src/com/engine/organization/wrapper/ResourceBasicInfoWrapper.java index e3d65d80..aec06084 100644 --- a/src/com/engine/organization/wrapper/ResourceBasicInfoWrapper.java +++ b/src/com/engine/organization/wrapper/ResourceBasicInfoWrapper.java @@ -5,6 +5,7 @@ import com.api.browser.bean.SearchConditionGroup; import com.engine.common.util.ServiceUtil; import com.engine.organization.annotation.Log; import com.engine.organization.entity.fieldset.vo.TypeTreeVO; +import com.engine.organization.entity.hrmresource.po.ResourceItemClassPO; import com.engine.organization.entity.hrmresource.po.ResourceItemPO; import com.engine.organization.enums.DeleteTypeEnum; import com.engine.organization.enums.LogModuleNameEnum; @@ -27,16 +28,16 @@ import java.util.*; **/ public class ResourceBasicInfoWrapper extends OrganizationWrapper { - private ResourceBasicInfoService getResourceBasicInfoService(User user){ - return ServiceUtil.getService(ResourceBasicInfoServiceImpl.class,user); + private ResourceBasicInfoService getResourceBasicInfoService(User user) { + return ServiceUtil.getService(ResourceBasicInfoServiceImpl.class, user); } private ResourceBasicInfoMapper getResourceBasicInfoMapper() { return MapperProxyFactory.getProxy(ResourceBasicInfoMapper.class); } - public Map getResourceBasicInfo(Map params) { - return getResourceBasicInfoService(user).listPage(params); + public Map getResourceBasicInfo(Map params) { + return getResourceBasicInfoService(user).listPage(params); } public List getTreeData() { @@ -75,7 +76,8 @@ public class ResourceBasicInfoWrapper extends OrganizationWrapper { List resourceItemPOS = getResourceBasicInfoMapper().selectItemByIds(ids); int result = getResourceBasicInfoService(user).deletByIds(ids); for (ResourceItemPO resourceItemPO : resourceItemPOS) { - writeOperateLog(new Object() {}.getClass(),resourceItemPO.getFname(), JSON.toJSONString(ids),"删除人员信息资料"); + writeOperateLog(new Object() { + }.getClass(), resourceItemPO.getFname(), JSON.toJSONString(ids), "删除人员信息资料"); } return result; } @@ -86,7 +88,8 @@ public class ResourceBasicInfoWrapper extends OrganizationWrapper { List resourceItemPOS = getResourceBasicInfoMapper().selectItemByIds(ids); int result = getResourceBasicInfoService(user).recoverByIds(ids); for (ResourceItemPO resourceItemPO : resourceItemPOS) { - writeOperateLog(new Object() {}.getClass(),resourceItemPO.getFname(), JSON.toJSONString(ids),"恢复人员信息资料"); + writeOperateLog(new Object() { + }.getClass(), resourceItemPO.getFname(), JSON.toJSONString(ids), "恢复人员信息资料"); } return result; } @@ -94,10 +97,11 @@ public class ResourceBasicInfoWrapper extends OrganizationWrapper { @Log(operateType = OperateTypeEnum.ADD, operateModule = LogModuleNameEnum.RESOURCE, operateDesc = "新增人员信息资料") public int save(ResourceItemPO resourceItemPO) { resourceItemPO.setCreateTime(new Date()); - resourceItemPO.setCreator((long)user.getUID()); + resourceItemPO.setCreator((long) user.getUID()); resourceItemPO.setFdelete(DeleteTypeEnum.NOT_DELETED.getValue()); int result = getResourceBasicInfoService(user).save(resourceItemPO); - writeOperateLog(new Object() {}.getClass(),resourceItemPO.getFname(),JSON.toJSONString(resourceItemPO),"新增人员信息资料"); + writeOperateLog(new Object() { + }.getClass(), resourceItemPO.getFname(), JSON.toJSONString(resourceItemPO), "新增人员信息资料"); return result; } @@ -106,8 +110,41 @@ public class ResourceBasicInfoWrapper extends OrganizationWrapper { resourceItemPO.setUpdateTime(new Date()); ResourceItemPO resourceItem = getResourceBasicInfoService(user).selectById(resourceItemPO.getFid()); int result = getResourceBasicInfoService(user).update(resourceItemPO); - writeOperateLog(new Object() {}.getClass(),resourceItem.getFname(),JSON.toJSONString(resourceItemPO),resourceItem, + writeOperateLog(new Object() { + }.getClass(), resourceItem.getFname(), JSON.toJSONString(resourceItemPO), resourceItem, getResourceBasicInfoService(user).selectById(resourceItemPO.getFid())); return result; } + + public List getItemClassForm(Map params) { + return getResourceBasicInfoService(user).getItemClassForm(params); + } + + @Log(operateType = OperateTypeEnum.ADD, operateModule = LogModuleNameEnum.RESOURCE, operateDesc = "新增人员信息分类") + public int saveResourceItemClass(ResourceItemClassPO resourceItemClassPO) { + int result = getResourceBasicInfoService(user).saveResourceItemClass(resourceItemClassPO); + writeOperateLog(new Object() { + }.getClass(), resourceItemClassPO.getFname(), JSON.toJSONString(resourceItemClassPO), "新增人员信息分类"); + return result; + } + + @Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.RESOURCE, operateDesc = "更新人员信息分类") + public int updateResourceItemClass(ResourceItemClassPO resourceItemClassPO) { + ResourceItemClassPO resourceItemClass = getResourceBasicInfoMapper().getResourceItemClassByFid(resourceItemClassPO.getFid()); + int result = getResourceBasicInfoService(user).updateResourceItemClass(resourceItemClassPO); + writeOperateLog(new Object() { + }.getClass(), resourceItemClassPO.getFname(), JSON.toJSONString(resourceItemClassPO), resourceItemClass, + getResourceBasicInfoMapper().getResourceItemClassByFid(resourceItemClassPO.getFid())); + return result; + } + + @Log(operateType = OperateTypeEnum.DELETE, operateModule = LogModuleNameEnum.RESOURCE, operateDesc = "删除人员信息分类") + public int deleteResourceItemClass(Integer fid) { + ResourceItemClassPO resourceItemClass = getResourceBasicInfoMapper().getResourceItemClassByFid(fid); + int result = getResourceBasicInfoService(user).deleteResourceItemClass(fid); + writeOperateLog(new Object() { + }.getClass(), resourceItemClass.getFname(), JSON.toJSONString(fid), "删除人员信息分类"); + + return result; + } }