diff --git a/docs/表结构SQL/MySQL.sql b/docs/表结构SQL/MySQL.sql index 25553f16..e3b70be1 100644 --- a/docs/表结构SQL/MySQL.sql +++ b/docs/表结构SQL/MySQL.sql @@ -517,3 +517,24 @@ create table JCL_ORG_HRMRELATION ( update_time datetime null, constraint JCL_ORG_HRMRELATION_PK primary key (id) ); + + +-- JCL_ORG_ITEMCLASS +create table JCL_ORG_ITEMCLASS ( + fid int auto_increment not null, + fno varchar(50) not null, + fname varchar (50) not null, + fmemo varchar (255) null , + constraint JCL_ORG_ITEMCLASS_PK primary key (fid) +); + +-- JCL_ORG_ITEM +create table JCL_ORG_ITEM ( + fid int auto_increment not null, + fclassid int not null, + fno varchar(50) not null, + fname varchar (255) not null, + fmemo varchar (255) null, + fdelete int not null, + constraint JCL_ORG_ITEM_PK primary key (fid) +); \ No newline at end of file diff --git a/src/com/api/organization/web/ResourceBasicInfoController.java b/src/com/api/organization/web/ResourceBasicInfoController.java new file mode 100644 index 00000000..c7cc6712 --- /dev/null +++ b/src/com/api/organization/web/ResourceBasicInfoController.java @@ -0,0 +1,13 @@ +package com.api.organization.web; + +import javax.ws.rs.Path; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/8/23 + * @Version V1.0 + **/ +@Path("/bs/hrmorganization/resourceBasicInfo") +public class ResourceBasicInfoController extends com.engine.organization.web.ResourceBasicInfoController{ +} diff --git a/src/com/engine/organization/entity/hrmresource/vo/ResourceBasicInfoVO.java b/src/com/engine/organization/entity/hrmresource/vo/ResourceBasicInfoVO.java new file mode 100644 index 00000000..db51d222 --- /dev/null +++ b/src/com/engine/organization/entity/hrmresource/vo/ResourceBasicInfoVO.java @@ -0,0 +1,65 @@ +package com.engine.organization.entity.hrmresource.vo; + +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 lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/8/23 + * @Version V1.0 + **/ + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@OrganizationTable(pageId = "516e81fb-65d4-4010-b916-9f6ab337b199", + fields = "t.fid," + + "t.fno," + + "t.fname," + + "t.fmemo", + fromSql = "FROM jcl_org_item t ", + orderby = "fno", + sortway = "asc", + primarykey = "id", + operates = { + @OrganizationTableOperate(index = "0", text = "编辑"), + @OrganizationTableOperate(index = "1", text = "删除"), + @OrganizationTableOperate(index = "2", text = "恢复") + }, + tableType = WeaTableType.CHECKBOX +) +public class ResourceBasicInfoVO { + + /** + * 主键 + */ + @OrganizationTableColumn(column = "fid", display = false) + private Integer id; + + + /** + * 编号 + */ + @OrganizationTableColumn(text = "编号", width = "25%", column = "fno", orderkey = "fno") + private String fNo; + + /** + * 名称 + */ + @OrganizationTableColumn(text = "名称", width = "25%", column = "fname") + private String fName; + + /** + * 说明 + */ + @OrganizationTableColumn(text = "说明", width = "25%", column = "fmemo") + private String fMemo; +} diff --git a/src/com/engine/organization/service/ResourceBasicInfoService.java b/src/com/engine/organization/service/ResourceBasicInfoService.java new file mode 100644 index 00000000..99498b3d --- /dev/null +++ b/src/com/engine/organization/service/ResourceBasicInfoService.java @@ -0,0 +1,28 @@ +package com.engine.organization.service; + +import com.engine.organization.entity.fieldset.vo.TypeTreeVO; + +import java.util.List; +import java.util.Map; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/8/23 + * @Version V1.0 + **/ +public interface ResourceBasicInfoService { + + /** + * 列表 + * @param params + * @return + */ + Map listPage(Map params); + + /** + * 获取左侧树 + * @return + */ + List getTreeData(); +} diff --git a/src/com/engine/organization/service/impl/GroupServiceImpl.java b/src/com/engine/organization/service/impl/GroupServiceImpl.java index fbf545c0..df86be13 100644 --- a/src/com/engine/organization/service/impl/GroupServiceImpl.java +++ b/src/com/engine/organization/service/impl/GroupServiceImpl.java @@ -59,7 +59,12 @@ public class GroupServiceImpl extends Service implements GroupService { // 设置编辑属性 if (!StringUtil.isEmpty(Util.null2String(params.get("viewattr")))) { int viewAttr = Integer.parseInt(params.get("viewattr").toString()); - companyNameItem.setViewAttr(viewAttr); + if (viewAttr == 2) { + companyNameItem.setViewAttr(3); + companyNameItem.setRules("required|string"); + }else { + companyNameItem.setViewAttr(viewAttr); + } companyDescItem.setViewAttr(viewAttr); companyWebItem.setViewAttr(viewAttr); } diff --git a/src/com/engine/organization/service/impl/ResourceBasicInfoServiceImpl.java b/src/com/engine/organization/service/impl/ResourceBasicInfoServiceImpl.java new file mode 100644 index 00000000..efb3ca3e --- /dev/null +++ b/src/com/engine/organization/service/impl/ResourceBasicInfoServiceImpl.java @@ -0,0 +1,70 @@ +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.fieldset.vo.TypeTreeVO; +import com.engine.organization.entity.hrmresource.vo.ResourceBasicInfoVO; +import com.engine.organization.service.ResourceBasicInfoService; +import com.engine.organization.util.HasRightUtil; +import com.engine.organization.util.db.DBType; +import org.apache.commons.lang3.StringUtils; +import weaver.conn.RecordSet; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/8/23 + * @Version V1.0 + **/ +public class ResourceBasicInfoServiceImpl extends Service implements ResourceBasicInfoService { + + private static final String RIGHT_NAME = "ResourceBasicInfo:All"; + + + @Override + public Map listPage(Map params) { + 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); + String sqlWhere = buildSqlWhere(params); + table.setSqlwhere(sqlWhere); + WeaResultMsg result = new WeaResultMsg(false); + result.putAll(table.makeDataResult()); + result.success(); + resultMap.putAll(result.getResultMap()); + return resultMap; + } + + @Override + public List getTreeData() { + return null; + } + + private String buildSqlWhere(Map params) { + DBType dbType = DBType.get(new RecordSet().getDBType()); + String sqlWhere = " where t.fdelete = 0 "; + String fclassid = (String) params.get("fclassid"); + if (StringUtils.isNotBlank(fclassid) && !"-1".equals(fclassid)) { + sqlWhere += " AND t.fclassid = '" + fclassid + "'"; + } + String fno = (String) params.get("fno"); + if (StringUtils.isNotBlank(fno)) { + sqlWhere += " AND t.fno = '" + fno + "'"; + } + String fname = (String) params.get("fname"); + if (StringUtils.isNotBlank(fname)) { + sqlWhere += " AND t.fname " + dbType.like(fname); + } + + return sqlWhere; + } +} diff --git a/src/com/engine/organization/web/ResourceBasicInfoController.java b/src/com/engine/organization/web/ResourceBasicInfoController.java new file mode 100644 index 00000000..2e5d5329 --- /dev/null +++ b/src/com/engine/organization/web/ResourceBasicInfoController.java @@ -0,0 +1,58 @@ +package com.engine.organization.web; + +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.organization.util.response.ReturnResult; +import com.engine.organization.wrapper.ResourceBasicInfoWrapper; +import weaver.hrm.HrmUserVarify; +import weaver.hrm.User; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.GET; +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.Map; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/8/23 + * @Version V1.0 + **/ +public class ResourceBasicInfoController { + + private ResourceBasicInfoWrapper getResourceBasicInfoWrapper(User user) { + return ServiceUtil.getService(ResourceBasicInfoWrapper.class,user); + } + + + @GET + @Path("/getTable") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getResourceBasicInfo(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getResourceBasicInfoWrapper(user).getResourceBasicInfo(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + + @GET + @Path("/getTreeData") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getTreeData(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getResourceBasicInfoWrapper(user).getTreeData()); + } 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 new file mode 100644 index 00000000..73e7a547 --- /dev/null +++ b/src/com/engine/organization/wrapper/ResourceBasicInfoWrapper.java @@ -0,0 +1,32 @@ +package com.engine.organization.wrapper; + +import com.engine.common.util.ServiceUtil; +import com.engine.organization.entity.fieldset.vo.TypeTreeVO; +import com.engine.organization.service.ResourceBasicInfoService; +import com.engine.organization.service.impl.ResourceBasicInfoServiceImpl; +import com.engine.organization.util.OrganizationWrapper; +import weaver.hrm.User; + +import java.util.List; +import java.util.Map; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/8/23 + * @Version V1.0 + **/ +public class ResourceBasicInfoWrapper extends OrganizationWrapper { + + private ResourceBasicInfoService getResourceBasicInfoService(User user){ + return ServiceUtil.getService(ResourceBasicInfoServiceImpl.class,user); + } + + public Map getResourceBasicInfo(Map params) { + return getResourceBasicInfoService(user).listPage(params); + } + + public List getTreeData() { + return getResourceBasicInfoService(user).getTreeData(); + } +}