diff --git a/src/main/java/com/ydool/common/constant/UrlConstant.java b/src/main/java/com/ydool/common/constant/UrlConstant.java index a7b59ba..c1df340 100644 --- a/src/main/java/com/ydool/common/constant/UrlConstant.java +++ b/src/main/java/com/ydool/common/constant/UrlConstant.java @@ -25,6 +25,11 @@ public interface UrlConstant { String COMPANY = API + "/company"; + String RECRUITMENT = API + "/recruitment"; + String MECHANISM = API + "/mechanism"; + String ORGANIZATION = API + "/organization"; + String PARTY_ORGANIZATION = API + "/party_organization"; + /** diff --git a/src/main/java/com/ydool/staff/controller/CompanyNameController.java b/src/main/java/com/ydool/staff/controller/CompanyNameController.java index ae5d2c1..f879a09 100644 --- a/src/main/java/com/ydool/staff/controller/CompanyNameController.java +++ b/src/main/java/com/ydool/staff/controller/CompanyNameController.java @@ -4,8 +4,10 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.ydool.common.base.BaseController; import com.ydool.common.constant.UrlConstant; import com.ydool.common.data.dto.AjaxResult; -import com.ydool.staff.service.impl.CompanyNameServiceImpl; +import com.ydool.staff.service.ICompanyNameService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -18,11 +20,20 @@ import org.springframework.web.bind.annotation.RestController; @ApiSupport(order = 1) public class CompanyNameController extends BaseController { - @Autowired - CompanyNameServiceImpl companyNameService; + // @Autowired + // ICompanyNameService companyNameService; + + // @GetMapping("/companyList") + // @ApiOperation(value = "企业名称列表") + // public AjaxResult companyList() { + // return companyNameService.companyList(); + // } + + // @GetMapping("/companyName") + // @ApiOperation(value = "根据企业名称查企业信息") + // @ApiImplicitParam(value = "企业名称", name = "companyName", required = true) + // public AjaxResult companyName(String companyName) { + // return companyNameService.companyName(companyName); + // } - @GetMapping("/tree") - public AjaxResult tree(){ - return companyNameService.companyNameTree(); - } } diff --git a/src/main/java/com/ydool/staff/controller/MechanismController.java b/src/main/java/com/ydool/staff/controller/MechanismController.java new file mode 100644 index 0000000..6d765ea --- /dev/null +++ b/src/main/java/com/ydool/staff/controller/MechanismController.java @@ -0,0 +1,34 @@ +package com.ydool.staff.controller; + +import com.ydool.common.base.BaseController; +import com.ydool.common.constant.UrlConstant; +import com.ydool.common.data.dto.AjaxResult; +import com.ydool.staff.entity.Mechanism; +import com.ydool.staff.service.IMechanismService; +import com.ydool.system.request.IdsRequest; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping(UrlConstant.MECHANISM) +@Api(tags = "机构信息", value = "机构信息") +public class MechanismController extends BaseController { + + @Autowired + IMechanismService mechanismService; + + @PostMapping("/saveMechanism") + @ApiOperation(value = "新增机构信息") + public AjaxResult saveMechanism(@RequestBody Mechanism mechanism) { + return mechanismService.saveMechanism(mechanism); + } + + @PostMapping("/deleteMechanism") + @ApiOperation(value = "删除机构信息") + public AjaxResult deleteMechanism(@RequestBody IdsRequest id) { + return mechanismService.deleteMechanism(id); + } + +} diff --git a/src/main/java/com/ydool/staff/controller/OrganizationController.java b/src/main/java/com/ydool/staff/controller/OrganizationController.java new file mode 100644 index 0000000..dacae82 --- /dev/null +++ b/src/main/java/com/ydool/staff/controller/OrganizationController.java @@ -0,0 +1,43 @@ +package com.ydool.staff.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ydool.common.base.BaseController; +import com.ydool.common.constant.UrlConstant; +import com.ydool.common.data.dto.AjaxResult; +import com.ydool.staff.service.IOrganizationService; +import com.ydool.system.request.IdsRequest; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping(UrlConstant.ORGANIZATION) +@Api(tags = "内设机构登记", value = "内设机构登记") +public class OrganizationController extends BaseController { + + @Autowired + IOrganizationService organizationService; + + @GetMapping("/selectOrganizationList") + @ApiOperation(value = "内设机构登记列表") + @ApiImplicitParams({@ApiImplicitParam(name = "companyName", value = "企业名称"), @ApiImplicitParam(name = "current", value = "当前页", dataType = "Integer"), @ApiImplicitParam(name = "size", value = "每页条数", dataType = "Integer"),}) + public AjaxResult selectOrganizationList(String companyName) { + return organizationService.selectOrganizationList(new Page<>(getPageNum(), getPageSize()), companyName); + } + + @GetMapping("/selectOrganizationByMechanism") + @ApiOperation(value = "内设机构登记详情") + @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "企业Id")}) + public AjaxResult selectOrganizationByMechanism(String id) { + return organizationService.selectOrganizationByMechanism(id); + } + + @PostMapping("/deleteOrganization") + @ApiOperation(value = "删除内设机构") + public AjaxResult deleteOrganization(@RequestBody IdsRequest id) { + return organizationService.deleteOrganization(id); + } +} diff --git a/src/main/java/com/ydool/staff/controller/PartyOrganizationController.java b/src/main/java/com/ydool/staff/controller/PartyOrganizationController.java new file mode 100644 index 0000000..fc86e2f --- /dev/null +++ b/src/main/java/com/ydool/staff/controller/PartyOrganizationController.java @@ -0,0 +1,37 @@ +package com.ydool.staff.controller; + +import com.ydool.common.base.BaseController; +import com.ydool.common.constant.UrlConstant; +import com.ydool.common.data.dto.AjaxResult; +import com.ydool.staff.entity.PartyOrganization; +import com.ydool.staff.service.IPartyOrganizationService; +import com.ydool.system.request.IdsRequest; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping(UrlConstant.PARTY_ORGANIZATION) +@Api(tags = "党组织信息", value = "党组织信息") +public class PartyOrganizationController extends BaseController { + + @Autowired + IPartyOrganizationService partyOrganizationService; + + @PostMapping("/savePartyOrganization") + @ApiOperation(value = "新增党组织信息") + public AjaxResult savePartyOrganization(@RequestBody PartyOrganization partyOrganization) { + return partyOrganizationService.savePartyOrganization(partyOrganization); + } + + @PostMapping("/deletePartyOrganization") + @ApiOperation(value = "删除党组织信息") + public AjaxResult deletePartyOrganization(@RequestBody IdsRequest id) { + return partyOrganizationService.deletePartyOrganization(id); + } + +} diff --git a/src/main/java/com/ydool/staff/controller/RecruitmentController.java b/src/main/java/com/ydool/staff/controller/RecruitmentController.java new file mode 100644 index 0000000..390ab66 --- /dev/null +++ b/src/main/java/com/ydool/staff/controller/RecruitmentController.java @@ -0,0 +1,55 @@ +package com.ydool.staff.controller; + +import com.ydool.common.constant.UrlConstant; +import com.ydool.common.data.dto.AjaxResult; +import com.ydool.staff.request.RecruitmentRequest; +import com.ydool.staff.service.ICompanyNameService; +import com.ydool.staff.service.IRecruitmentService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + + +@RestController +@RequestMapping(UrlConstant.RECRUITMENT) +@Api(tags = "员工登记", value = "员工登记") +public class RecruitmentController { + + // @Autowired + // IRecruitmentService recruitmentService; + // @Autowired + // ICompanyNameService companyNameService; + + // @GetMapping("/RecruitmentList") + // @ApiOperation(value = "人员登记列表") + // public AjaxResult recruitmentList() { + // return recruitmentService.recruitmentList(); + // } + + // @PostMapping("/insertRecruitment") + // @ApiOperation(value = "人员登记") + // public AjaxResult insertRecruitment(@RequestBody @Validated RecruitmentRequest recruitmentRequest) { + // return recruitmentService.saveRecruitment(recruitmentRequest); + // } + + // @DeleteMapping("/deleteRecruitment") + // @ApiOperation(value = "人员删除") + // public AjaxResult deleteRecruitment(String id) { + // return recruitmentService.deleteRecruitment(id); + // } + + // @GetMapping("/selectCompanyNameById") + // @ApiOperation(value = "人员招聘详情") + // public AjaxResult selectCompanyNameById(String id) { + // return companyNameService.selectCompanyNameById(id); + // } + + // @PostMapping("/recruitmentSaveBatch") + // @ApiOperation(value = "批量人员登记") + // public AjaxResult recruitmentSaveBatch(@RequestBody @Validated RecruitmentDto recruitmentDto){ + // return recruitmentService.recruitmentSaveBatch(recruitmentDto.getRecruitment()); + // } + +} diff --git a/src/main/java/com/ydool/staff/dto/RecruitmentDto.java b/src/main/java/com/ydool/staff/dto/RecruitmentDto.java new file mode 100644 index 0000000..69dbd2d --- /dev/null +++ b/src/main/java/com/ydool/staff/dto/RecruitmentDto.java @@ -0,0 +1,17 @@ +package com.ydool.staff.dto; + +import com.ydool.staff.request.RecruitmentRequest; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; +import java.util.List; + +@Data +public class RecruitmentDto implements Serializable { + + @NotEmpty(message = "不能为空") + @ApiModelProperty(value = "批量人员登记") + private List recruitment; +} diff --git a/src/main/java/com/ydool/staff/entity/CompanyName.java b/src/main/java/com/ydool/staff/entity/CompanyName.java index d91add7..698dafb 100644 --- a/src/main/java/com/ydool/staff/entity/CompanyName.java +++ b/src/main/java/com/ydool/staff/entity/CompanyName.java @@ -1,15 +1,17 @@ package com.ydool.staff.entity; + import com.baomidou.mybatisplus.annotation.TableName; import com.ydool.common.base.BaseEntity; -import com.ydool.common.base.TreeEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; + + /** *

- * + * *

* * @author msf @@ -19,17 +21,30 @@ import lombok.experimental.Accessors; @EqualsAndHashCode(callSuper = true) @Accessors(chain = true) @TableName("t_lc_company_name") -@ApiModel(value="CompanyName对象", description="") -public class CompanyName extends TreeEntity { +@ApiModel(value = "CompanyName对象", description = "") +public class CompanyName extends BaseEntity { private static final long serialVersionUID = 1L; - private String name; + @ApiModelProperty(value = "企业名称") + private String companyName; + @ApiModelProperty(value = "统一信用代码") + private String creditCode; + + @ApiModelProperty(value = "审批单号") + private String approvalNumber; + + @ApiModelProperty(value = "核定指标人数") + private Integer checkNumber; + + @ApiModelProperty(value = "在职人数") + private Integer activeStaff; + + @ApiModelProperty(value = "剩余指标人数") + private Integer residueNumber; + + @ApiModelProperty(value = "备注") private String remarks; - @Override - public String getNamed() { - return this.name; - } } diff --git a/src/main/java/com/ydool/staff/entity/Mechanism.java b/src/main/java/com/ydool/staff/entity/Mechanism.java new file mode 100644 index 0000000..534ee05 --- /dev/null +++ b/src/main/java/com/ydool/staff/entity/Mechanism.java @@ -0,0 +1,41 @@ +package com.ydool.staff.entity; +import com.baomidou.mybatisplus.annotation.TableName; +import com.ydool.common.base.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +/** + *

+ * 内设机构信息 + *

+ * + * @author msf + * @since 2023-02-02 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@TableName("t_lc_mechanism") +@ApiModel(value="Mechanism对象", description="内设机构信息") +public class Mechanism extends BaseEntity{ + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "企业id") + private String organizationId; + + @ApiModelProperty(value = "机构名称") + private String mechanismName; + + @ApiModelProperty(value = "机构职能") + private String mechanismFunction; + + @ApiModelProperty(value = "负责人") + private String responsiblePerson; + + @ApiModelProperty(value = "备注") + private String remark; + +} diff --git a/src/main/java/com/ydool/staff/entity/Organization.java b/src/main/java/com/ydool/staff/entity/Organization.java new file mode 100644 index 0000000..288a30d --- /dev/null +++ b/src/main/java/com/ydool/staff/entity/Organization.java @@ -0,0 +1,38 @@ +package com.ydool.staff.entity; +import com.baomidou.mybatisplus.annotation.TableName; +import com.ydool.common.base.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +/** + *

+ * 内设机构登记 + *

+ * + * @author msf + * @since 2023-02-02 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@TableName("t_lc_organization") +@ApiModel(value="Organization对象", description="内设机构登记") +public class Organization extends BaseEntity{ + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "企业名称") + private String companyName; + + @ApiModelProperty(value = "信用代码") + private String creditCode; + + @ApiModelProperty(value = "备注") + private String remark; + + @ApiModelProperty(value = "相关附件") + private String attachment; + +} diff --git a/src/main/java/com/ydool/staff/entity/PartyOrganization.java b/src/main/java/com/ydool/staff/entity/PartyOrganization.java new file mode 100644 index 0000000..88ecba6 --- /dev/null +++ b/src/main/java/com/ydool/staff/entity/PartyOrganization.java @@ -0,0 +1,35 @@ +package com.ydool.staff.entity; +import com.baomidou.mybatisplus.annotation.TableName; +import com.ydool.common.base.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +/** + *

+ * 党组织信息 + *

+ * + * @author msf + * @since 2023-02-02 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@TableName("t_lc_party_organization") +@ApiModel(value="PartyOrganization对象", description="党组织信息") +public class PartyOrganization extends BaseEntity{ + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "企业Id") + private String organizationId; + + @ApiModelProperty(value = "姓名") + private String username; + + @ApiModelProperty(value = "职务") + private String job; + +} diff --git a/src/main/java/com/ydool/staff/entity/Recruitment.java b/src/main/java/com/ydool/staff/entity/Recruitment.java new file mode 100644 index 0000000..9135edf --- /dev/null +++ b/src/main/java/com/ydool/staff/entity/Recruitment.java @@ -0,0 +1,49 @@ +package com.ydool.staff.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.ydool.common.base.BaseEntity; + +import java.util.Date; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 人员招聘登记 + *

+ * + * @author msf + * @since 2023-02-01 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@TableName("t_lc_recruitment") +@ApiModel(value = "Recruitment对象", description = "人员招聘登记") +public class Recruitment extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "企业名称") + private String companyId; + + @ApiModelProperty(value = "部门") + private String deptId; + + @ApiModelProperty(value = "岗位职务") + private String position; + + @ApiModelProperty(value = "名额") + private Long places; + + @ApiModelProperty(value = "条件要求") + private String requirements; + + @ApiModelProperty(value = "审批") + private Integer approval; + +} diff --git a/src/main/java/com/ydool/staff/mapper/CompanyNameMapper.java b/src/main/java/com/ydool/staff/mapper/CompanyNameMapper.java index 5cb3d03..64c1a58 100644 --- a/src/main/java/com/ydool/staff/mapper/CompanyNameMapper.java +++ b/src/main/java/com/ydool/staff/mapper/CompanyNameMapper.java @@ -1,8 +1,10 @@ package com.ydool.staff.mapper; +import com.ydool.common.data.dto.AjaxResult; import com.ydool.staff.entity.CompanyName; import com.github.yulichang.base.MPJBaseMapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; /** *

@@ -15,4 +17,7 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface CompanyNameMapper extends MPJBaseMapper { + @Select("select c.id,c.company_name,c.check_number,c.active_staff,c.residue_number,r.informant,r.informant_time,r.`first`,r.first_time,r.last,r.last_time,r.invoices_status,r.updated_name,r.updated_time \n" + + "from t_lc_company_name c ,t_lc_recruitment r where c.id = r.company_id") + AjaxResult list(); } diff --git a/src/main/java/com/ydool/staff/mapper/MechanismMapper.java b/src/main/java/com/ydool/staff/mapper/MechanismMapper.java new file mode 100644 index 0000000..d453e41 --- /dev/null +++ b/src/main/java/com/ydool/staff/mapper/MechanismMapper.java @@ -0,0 +1,18 @@ +package com.ydool.staff.mapper; + +import com.ydool.staff.entity.Mechanism; +import com.github.yulichang.base.MPJBaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 内设机构信息 Mapper 接口 + *

+ * + * @author msf + * @since 2023-02-02 + */ +@Mapper +public interface MechanismMapper extends MPJBaseMapper { + +} diff --git a/src/main/java/com/ydool/staff/mapper/OrganizationMapper.java b/src/main/java/com/ydool/staff/mapper/OrganizationMapper.java new file mode 100644 index 0000000..dae873b --- /dev/null +++ b/src/main/java/com/ydool/staff/mapper/OrganizationMapper.java @@ -0,0 +1,18 @@ +package com.ydool.staff.mapper; + +import com.ydool.staff.entity.Organization; +import com.github.yulichang.base.MPJBaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 内设机构登记 Mapper 接口 + *

+ * + * @author msf + * @since 2023-02-02 + */ +@Mapper +public interface OrganizationMapper extends MPJBaseMapper { + +} diff --git a/src/main/java/com/ydool/staff/mapper/PartyOrganizationMapper.java b/src/main/java/com/ydool/staff/mapper/PartyOrganizationMapper.java new file mode 100644 index 0000000..27cd9b6 --- /dev/null +++ b/src/main/java/com/ydool/staff/mapper/PartyOrganizationMapper.java @@ -0,0 +1,18 @@ +package com.ydool.staff.mapper; + +import com.ydool.staff.entity.PartyOrganization; +import com.github.yulichang.base.MPJBaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 党组织信息 Mapper 接口 + *

+ * + * @author msf + * @since 2023-02-02 + */ +@Mapper +public interface PartyOrganizationMapper extends MPJBaseMapper { + +} diff --git a/src/main/java/com/ydool/staff/mapper/RecruitmentMapper.java b/src/main/java/com/ydool/staff/mapper/RecruitmentMapper.java new file mode 100644 index 0000000..0b0d02c --- /dev/null +++ b/src/main/java/com/ydool/staff/mapper/RecruitmentMapper.java @@ -0,0 +1,27 @@ +package com.ydool.staff.mapper; + +import com.ydool.staff.entity.Recruitment; +import com.github.yulichang.base.MPJBaseMapper; +import com.ydool.staff.request.CompanyNameRequest; +import com.ydool.staff.request.RecruitmentRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + *

+ * 人员招聘登记 Mapper 接口 + *

+ * + * @author msf + * @since 2023-02-01 + */ +@Mapper +public interface RecruitmentMapper extends MPJBaseMapper { + + // @Select("select c.id,c.company_name,c.check_number,c.active_staff,c.residue_number,r.informant,r.informant_time,r.`first`,r.first_time,r.last,r.last_time,r.invoices_status,r.updated_name,r.updated_time \n" + // + "from t_lc_company_name c ,t_lc_recruitment r where c.id = r.company_id") + @Select("select c.id,c.company_name,c.check_number,c.active_staff,c.residue_number from t_lc_company_name c,t_lc_recruitment r where c.id = r.company_id") + List recruitmentList(); +} diff --git a/src/main/java/com/ydool/staff/request/CompanyNameRequest.java b/src/main/java/com/ydool/staff/request/CompanyNameRequest.java new file mode 100644 index 0000000..3aa5ed8 --- /dev/null +++ b/src/main/java/com/ydool/staff/request/CompanyNameRequest.java @@ -0,0 +1,37 @@ +package com.ydool.staff.request; + +import com.ydool.staff.entity.Recruitment; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class CompanyNameRequest { + + private String id; + + @ApiModelProperty(value = "企业名称") + private String companyName; + + @ApiModelProperty(value = "统一信用代码") + private String creditCode; + + @ApiModelProperty(value = "审批单号") + private String approvalNumber; + + @ApiModelProperty(value = "核定指标人数") + private Integer checkNumber; + + @ApiModelProperty(value = "在职人数") + private Integer activeStaff; + + @ApiModelProperty(value = "剩余指标人数") + private Integer residueNumber; + + @ApiModelProperty(value = "备注") + private String remarks; + + @ApiModelProperty(value = "人员登记") + List recruitments; +} diff --git a/src/main/java/com/ydool/staff/request/OrganizationRequest.java b/src/main/java/com/ydool/staff/request/OrganizationRequest.java new file mode 100644 index 0000000..34cf244 --- /dev/null +++ b/src/main/java/com/ydool/staff/request/OrganizationRequest.java @@ -0,0 +1,19 @@ +package com.ydool.staff.request; + +import com.ydool.staff.entity.Mechanism; +import com.ydool.staff.entity.Organization; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class OrganizationRequest implements Serializable { + + @ApiModelProperty(value = "机构") + private Organization organization; + + @ApiModelProperty(value = "机构信息") + private List mechanismList; +} diff --git a/src/main/java/com/ydool/staff/request/RecruitmentRequest.java b/src/main/java/com/ydool/staff/request/RecruitmentRequest.java new file mode 100644 index 0000000..732027c --- /dev/null +++ b/src/main/java/com/ydool/staff/request/RecruitmentRequest.java @@ -0,0 +1,31 @@ +package com.ydool.staff.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +@Data +public class RecruitmentRequest implements Serializable { + + @ApiModelProperty(value = "企业名称") + @NotBlank(message = "企业名称不能为空") + private String companyId; + + @ApiModelProperty(value = "部门") + @NotBlank(message = "部门不能为空") + private String deptId; + + @ApiModelProperty(value = "岗位职务") + @NotBlank(message = "岗位职务不能为空") + private String position; + + @ApiModelProperty(value = "名额") + @NotNull(message = "名额不能为空") + private Integer places; + + @ApiModelProperty(value = "条件要求") + private String requirements; +} diff --git a/src/main/java/com/ydool/staff/service/ICompanyNameService.java b/src/main/java/com/ydool/staff/service/ICompanyNameService.java index ed09feb..a1b5731 100644 --- a/src/main/java/com/ydool/staff/service/ICompanyNameService.java +++ b/src/main/java/com/ydool/staff/service/ICompanyNameService.java @@ -12,6 +12,10 @@ import com.ydool.common.data.dto.AjaxResult; */ public interface ICompanyNameService { - AjaxResult companyNameTree(); + AjaxResult companyList(); + + AjaxResult companyName(String companyName); + + AjaxResult selectCompanyNameById(String id); } diff --git a/src/main/java/com/ydool/staff/service/IMechanismService.java b/src/main/java/com/ydool/staff/service/IMechanismService.java new file mode 100644 index 0000000..4c6e5a0 --- /dev/null +++ b/src/main/java/com/ydool/staff/service/IMechanismService.java @@ -0,0 +1,31 @@ +package com.ydool.staff.service; + +import com.ydool.common.data.dto.AjaxResult; +import com.ydool.staff.entity.Mechanism; +import com.ydool.system.request.IdsRequest; + +/** + *

+ * 内设机构信息 服务类 + *

+ * + * @author msf + * @since 2023-02-02 + */ +public interface IMechanismService { + + /** + * 新增机构 + * @param mechanism + * @return + */ + AjaxResult saveMechanism(Mechanism mechanism); + + /** + * 删除机构 + * @param id + * @return + */ + AjaxResult deleteMechanism(IdsRequest id); +} + diff --git a/src/main/java/com/ydool/staff/service/IOrganizationService.java b/src/main/java/com/ydool/staff/service/IOrganizationService.java new file mode 100644 index 0000000..3b5b6b6 --- /dev/null +++ b/src/main/java/com/ydool/staff/service/IOrganizationService.java @@ -0,0 +1,24 @@ +package com.ydool.staff.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ydool.common.data.dto.AjaxResult; +import com.ydool.staff.entity.Organization; +import com.ydool.system.request.IdsRequest; + +/** + *

+ * 内设机构登记 服务类 + *

+ * + * @author msf + * @since 2023-02-02 + */ +public interface IOrganizationService { + + AjaxResult selectOrganizationList(Page page, String companyName); + + AjaxResult selectOrganizationByMechanism(String id); + + AjaxResult deleteOrganization(IdsRequest id); +} + diff --git a/src/main/java/com/ydool/staff/service/IPartyOrganizationService.java b/src/main/java/com/ydool/staff/service/IPartyOrganizationService.java new file mode 100644 index 0000000..0761191 --- /dev/null +++ b/src/main/java/com/ydool/staff/service/IPartyOrganizationService.java @@ -0,0 +1,21 @@ +package com.ydool.staff.service; + +import com.ydool.common.data.dto.AjaxResult; +import com.ydool.staff.entity.PartyOrganization; +import com.ydool.system.request.IdsRequest; + +/** + *

+ * 党组织信息 服务类 + *

+ * + * @author msf + * @since 2023-02-02 + */ +public interface IPartyOrganizationService { + + AjaxResult savePartyOrganization(PartyOrganization partyOrganization); + + AjaxResult deletePartyOrganization(IdsRequest id); +} + diff --git a/src/main/java/com/ydool/staff/service/IRecruitmentService.java b/src/main/java/com/ydool/staff/service/IRecruitmentService.java new file mode 100644 index 0000000..175a0e7 --- /dev/null +++ b/src/main/java/com/ydool/staff/service/IRecruitmentService.java @@ -0,0 +1,43 @@ +package com.ydool.staff.service; + +import com.ydool.common.data.dto.AjaxResult; +import com.ydool.staff.request.RecruitmentRequest; + +import java.util.List; + +public interface IRecruitmentService { + + /** + * 人员列表 + * @return + */ + AjaxResult recruitmentList(); + + /** + * 新增人员 + * @param recruitmentRequest + * @return + */ + AjaxResult saveRecruitment(RecruitmentRequest recruitmentRequest); + + /** + * 删除人员 + * @param id + * @return + */ + AjaxResult deleteRecruitment(String id); + + /** + * 人员详情 + * @param id + * @return + */ + AjaxResult selectRecruitmentById(String id); + + /** + * 批量新增人员 + * @param recruitmentRequest + * @return + */ + AjaxResult recruitmentSaveBatch(List recruitmentRequest); +} diff --git a/src/main/java/com/ydool/staff/service/impl/CompanyNameServiceImpl.java b/src/main/java/com/ydool/staff/service/impl/CompanyNameServiceImpl.java index 400d8de..6856439 100644 --- a/src/main/java/com/ydool/staff/service/impl/CompanyNameServiceImpl.java +++ b/src/main/java/com/ydool/staff/service/impl/CompanyNameServiceImpl.java @@ -1,32 +1,56 @@ package com.ydool.staff.service.impl; -import com.ydool.common.base.BaseTreeService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ydool.common.base.BaseService; import com.ydool.common.data.dto.AjaxResult; -import com.ydool.common.data.dto.OptionResult; -import com.ydool.common.utils.TreeSorterUtil; import com.ydool.staff.entity.CompanyName; +import com.ydool.staff.entity.Recruitment; import com.ydool.staff.mapper.CompanyNameMapper; +import com.ydool.staff.mapper.RecruitmentMapper; +import com.ydool.staff.request.CompanyNameRequest; import com.ydool.staff.service.ICompanyNameService; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** *

- * 服务类 + * 服务类 *

* * @author msf * @since 2023-02-01 */ @Service -public class CompanyNameServiceImpl extends BaseTreeService implements ICompanyNameService { +public class CompanyNameServiceImpl extends BaseService implements ICompanyNameService { + + @Autowired + CompanyNameMapper companyNameMapper; + @Autowired + RecruitmentMapper recruitmentMapper; @Override - public AjaxResult companyNameTree() { - List deptList = treeList(); - List optionResultList = TreeSorterUtil.optionTree(deptList); - return AjaxResult.ok().data(optionResultList); + public AjaxResult companyList() { + return AjaxResult.ok().data(companyNameMapper.selectList(null)); + } + + @Override + public AjaxResult companyName(String companyName) { + LambdaQueryWrapper companyNameLambdaQueryWrapper = new LambdaQueryWrapper<>(); + companyNameLambdaQueryWrapper.eq(CompanyName::getCompanyName, companyName); + return AjaxResult.ok().data(companyNameMapper.selectOne(companyNameLambdaQueryWrapper)); + } + + @Override + public AjaxResult selectCompanyNameById(String id) { + CompanyName companyName = companyNameMapper.selectById(id); + List recruitments = recruitmentMapper.selectList(new LambdaQueryWrapper().eq(Recruitment::getCompanyId, companyName.getId())); + CompanyNameRequest companyNameRequest = new CompanyNameRequest(); + companyNameRequest.setRecruitments(recruitments); + BeanUtils.copyProperties(companyName, companyNameRequest); + return AjaxResult.ok().data(companyNameRequest); } } diff --git a/src/main/java/com/ydool/staff/service/impl/MechanismServiceImpl.java b/src/main/java/com/ydool/staff/service/impl/MechanismServiceImpl.java new file mode 100644 index 0000000..c318078 --- /dev/null +++ b/src/main/java/com/ydool/staff/service/impl/MechanismServiceImpl.java @@ -0,0 +1,56 @@ +package com.ydool.staff.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.ydool.common.data.dto.AjaxResult; +import com.ydool.staff.entity.Mechanism; +import com.ydool.common.base.BaseService; +import com.ydool.staff.mapper.MechanismMapper; +import com.ydool.staff.service.IMechanismService; +import com.ydool.system.request.IdsRequest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; + +/** + *

+ * 内设机构信息 服务类 + *

+ * + * @author msf + * @since 2023-02-02 + */ +@Service +public class MechanismServiceImpl extends BaseService implements IMechanismService { + + @Autowired + MechanismMapper mechanismMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult saveMechanism(Mechanism mechanism) { + int i = mechanismMapper.insert(mechanism); + return i > 0 ? AjaxResult.ok().msg("新增成功!") : AjaxResult.fail().msg("新增失败!"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult deleteMechanism(IdsRequest id) { + if (CollectionUtil.isEmpty(Arrays.asList(id.getIds()))) { + return AjaxResult.fail().msg("Id不能为空!"); + } else { + int i = mechanismMapper.deleteBatchIds(Arrays.asList(id.getIds())); + return i > 0 ? AjaxResult.ok().msg("删除成功!") : AjaxResult.fail().msg("删除失败!"); + } + // Mechanism mechanism = mechanismMapper.selectById(id); + // if (ObjectUtil.isNull(mechanism)) { + // return AjaxResult.fail().msg("未找到相关信息!"); + // } else { + // int i = mechanismMapper.deleteById(mechanism.getId()); + // return i > 0 ? AjaxResult.ok().msg("删除成功!") : AjaxResult.fail().msg("删除失败!"); + // } + } +} + diff --git a/src/main/java/com/ydool/staff/service/impl/OrganizationServiceImpl.java b/src/main/java/com/ydool/staff/service/impl/OrganizationServiceImpl.java new file mode 100644 index 0000000..38e01f8 --- /dev/null +++ b/src/main/java/com/ydool/staff/service/impl/OrganizationServiceImpl.java @@ -0,0 +1,79 @@ +package com.ydool.staff.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ydool.common.data.dto.AjaxResult; +import com.ydool.staff.entity.Mechanism; +import com.ydool.staff.entity.Organization; +import com.ydool.common.base.BaseService; +import com.ydool.staff.mapper.MechanismMapper; +import com.ydool.staff.mapper.OrganizationMapper; +import com.ydool.staff.request.OrganizationRequest; +import com.ydool.staff.service.IOrganizationService; +import com.ydool.system.mapper.UserMapper; +import com.ydool.system.request.IdsRequest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; + +/** + *

+ * 内设机构登记 服务类 + *

+ * + * @author msf + * @since 2023-02-02 + */ +@Service +public class OrganizationServiceImpl extends BaseService implements IOrganizationService { + + @Autowired + OrganizationMapper organizationMapper; + @Autowired + MechanismMapper mechanismMapper; + @Autowired + UserMapper userMapper; + + @Override + public AjaxResult selectOrganizationList(Page page, String companyName) { + LambdaQueryWrapper organizationLambdaQueryWrapper = new LambdaQueryWrapper<>(); + organizationLambdaQueryWrapper.eq(StrUtil.isNotBlank(companyName), Organization::getCompanyName, companyName); + Page selectPage = organizationMapper.selectPage(page, organizationLambdaQueryWrapper); + for (Organization record : selectPage.getRecords()) { + record.setUpdatedId(userMapper.selectById(record.getUpdatedId()).getUserName()); + } + return AjaxResult.ok().data(selectPage); + } + + @Override + public AjaxResult selectOrganizationByMechanism(String id) { + Organization organization = organizationMapper.selectById(id); + if (ObjectUtil.isNull(organization)) { + return AjaxResult.fail().msg("未找到相关信息!"); + } else { + List mechanismList = mechanismMapper.selectList(new LambdaQueryWrapper().eq(Mechanism::getOrganizationId, organization.getId())); + OrganizationRequest organizationRequest = new OrganizationRequest(); + organizationRequest.setOrganization(organization); + organizationRequest.setMechanismList(mechanismList); + return AjaxResult.ok().data(organizationRequest); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult deleteOrganization(IdsRequest id) { + if (CollectionUtil.isEmpty(Arrays.asList(id.getIds()))) { + return AjaxResult.fail().msg("Id不能为空!"); + } else { + int i = organizationMapper.deleteBatchIds(Arrays.asList(id.getIds())); + return i > 0 ? AjaxResult.ok().msg("删除成功!") : AjaxResult.fail().msg("删除失败!"); + } + } +} + diff --git a/src/main/java/com/ydool/staff/service/impl/PartyOrganizationServiceImpl.java b/src/main/java/com/ydool/staff/service/impl/PartyOrganizationServiceImpl.java new file mode 100644 index 0000000..eb08f39 --- /dev/null +++ b/src/main/java/com/ydool/staff/service/impl/PartyOrganizationServiceImpl.java @@ -0,0 +1,48 @@ +package com.ydool.staff.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import com.ydool.common.data.dto.AjaxResult; +import com.ydool.staff.entity.PartyOrganization; +import com.ydool.common.base.BaseService; +import com.ydool.staff.mapper.PartyOrganizationMapper; +import com.ydool.staff.service.IPartyOrganizationService; +import com.ydool.system.request.IdsRequest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; + +/** + *

+ * 党组织信息 服务类 + *

+ * + * @author msf + * @since 2023-02-02 + */ +@Service +public class PartyOrganizationServiceImpl extends BaseService implements IPartyOrganizationService { + + @Autowired + PartyOrganizationMapper partyOrganizationMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult savePartyOrganization(PartyOrganization partyOrganization) { + int i = partyOrganizationMapper.insert(partyOrganization); + return i > 0 ? AjaxResult.ok().msg("新增成功!") : AjaxResult.fail().msg("新增失败!"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult deletePartyOrganization(IdsRequest id) { + if (CollectionUtil.isEmpty(Arrays.asList(id.getIds()))) { + return AjaxResult.fail().msg("Id不能为空!"); + } else { + int i = partyOrganizationMapper.deleteBatchIds(Arrays.asList(id.getIds())); + return i > 0 ? AjaxResult.ok().msg("删除成功!") : AjaxResult.fail().msg("删除失败!"); + } + } +} + diff --git a/src/main/java/com/ydool/staff/service/impl/RecruitmentServiceImpl.java b/src/main/java/com/ydool/staff/service/impl/RecruitmentServiceImpl.java new file mode 100644 index 0000000..9652b68 --- /dev/null +++ b/src/main/java/com/ydool/staff/service/impl/RecruitmentServiceImpl.java @@ -0,0 +1,71 @@ +package com.ydool.staff.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import com.ydool.common.data.dto.AjaxResult; +import com.ydool.staff.entity.Recruitment; +import com.ydool.common.base.BaseService; +import com.ydool.staff.mapper.CompanyNameMapper; +import com.ydool.staff.mapper.RecruitmentMapper; +import com.ydool.staff.request.RecruitmentRequest; +import com.ydool.staff.service.IRecruitmentService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + *

+ * 人员招聘登记 服务类 + *

+ * + * @author msf + * @since 2023-02-01 + */ +@Service +public class RecruitmentServiceImpl extends BaseService implements IRecruitmentService { + + @Autowired + RecruitmentMapper recruitmentMapper; + @Autowired + CompanyNameMapper companyNameMapper; + + @Override + public AjaxResult recruitmentList() { + return AjaxResult.ok().data(recruitmentMapper.recruitmentList()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult saveRecruitment(RecruitmentRequest recruitmentRequest) { + Recruitment recruitment = BeanUtil.copyProperties(recruitmentRequest, Recruitment.class); + int i = recruitmentMapper.insert(recruitment); + return i > 0 ? AjaxResult.ok().msg("添加成功!") : AjaxResult.fail().msg("添加失败!"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult deleteRecruitment(String id) { + Recruitment recruitment = recruitmentMapper.selectById(id); + if (ObjectUtil.isNull(recruitment)) { + return AjaxResult.fail().msg("未找到相关信息!"); + } else { + int i = recruitmentMapper.deleteById(recruitment.getId()); + return i > 0 ? AjaxResult.ok().msg("删除成功!") : AjaxResult.fail().msg("删除失败!"); + } + } + + @Override + public AjaxResult selectRecruitmentById(String id) { + return AjaxResult.ok().data(recruitmentMapper.selectById(id)); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult recruitmentSaveBatch(List recruitmentRequest) { + List recruitments = BeanUtil.copyToList(recruitmentRequest, Recruitment.class); + return AjaxResult.ok().data(saveBatch(recruitments)); + } +} +