diff --git a/src/com/api/organization/web/StaffOutController.java b/src/com/api/organization/web/StaffOutController.java new file mode 100644 index 00000000..45964831 --- /dev/null +++ b/src/com/api/organization/web/StaffOutController.java @@ -0,0 +1,13 @@ +package com.api.organization.web; + +import javax.ws.rs.Path; + +/** + * @Author liang.cheng + * @Date 2023/9/1 10:21 AM + * @Description: TODO + * @Version 1.0 + */ +@Path("/bs/hrmorganization/staff/out") +public class StaffOutController extends com.engine.organization.web.StaffOutController { +} diff --git a/src/com/engine/organization/entity/staff/param/StaffOutParam.java b/src/com/engine/organization/entity/staff/param/StaffOutParam.java new file mode 100644 index 00000000..3c4c9473 --- /dev/null +++ b/src/com/engine/organization/entity/staff/param/StaffOutParam.java @@ -0,0 +1,34 @@ +package com.engine.organization.entity.staff.param; + +import com.engine.organization.enums.StaffChangeEnum; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author liang.cheng + * @Date 2023/9/1 11:02 AM + * @Description: + * @Version 1.0 + */ + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class StaffOutParam { + + private StaffChangeEnum type; + + private Integer planId; + + private Integer company; + + private Integer department; + + private Integer job; + + private Integer num; + +} diff --git a/src/com/engine/organization/entity/staff/param/TransactionParam.java b/src/com/engine/organization/entity/staff/param/TransactionParam.java new file mode 100644 index 00000000..357e9085 --- /dev/null +++ b/src/com/engine/organization/entity/staff/param/TransactionParam.java @@ -0,0 +1,10 @@ +package com.engine.organization.entity.staff.param; + +/** + * @Author liang.cheng + * @Date 2023/9/1 2:03 PM + * @Description: TODO + * @Version 1.0 + */ +public class TransactionParam { +} diff --git a/src/com/engine/organization/enums/StaffChangeEnum.java b/src/com/engine/organization/enums/StaffChangeEnum.java new file mode 100644 index 00000000..d913eb1f --- /dev/null +++ b/src/com/engine/organization/enums/StaffChangeEnum.java @@ -0,0 +1,31 @@ +package com.engine.organization.enums; + +/** + * @Author liang.cheng + * @Date 2023/9/1 1:50 PM + * @Description: 编制变更枚举 + * @Version 1.0 + */ +public enum StaffChangeEnum { + + ADD(0, "增加"), + + REDUCE(1, "减少"); + + private Integer value; + + private String desc; + + StaffChangeEnum(Integer value, String desc) { + this.value = value; + this.desc = desc; + } + + public Integer getValue() { + return value; + } + + public String getDesc() { + return desc; + } +} diff --git a/src/com/engine/organization/service/StaffOutService.java b/src/com/engine/organization/service/StaffOutService.java new file mode 100644 index 00000000..a4c89ca4 --- /dev/null +++ b/src/com/engine/organization/service/StaffOutService.java @@ -0,0 +1,34 @@ +package com.engine.organization.service; + +import com.engine.organization.entity.staff.param.StaffOutParam; +import com.engine.organization.entity.staff.param.TransactionParam; + +/** + * @Author liang.cheng + * @Date 2023/9/1 10:26 AM + * @Description: 编制外部接口 + * @Version 1.0 + */ +public interface StaffOutService { + + /** + * @Description: 编制变更(增加 减少) + * @Author: liang.cheng + * @Date: 2023/9/1 1:37 PM + * @param: [staffOutParam] + * @return: java.lang.Integer + */ + Integer changeStaff(StaffOutParam staffOutParam); + + + + + /** + * @Description: 入转调离刷新编制信息 + * @Author: liang.cheng + * @Date: 2023/9/1 2:06 PM + * @param: [transactionParam] + * @return: java.lang.Integer + */ + Integer transactionOnJob(TransactionParam transactionParam); +} diff --git a/src/com/engine/organization/service/impl/StaffOutServiceImpl.java b/src/com/engine/organization/service/impl/StaffOutServiceImpl.java new file mode 100644 index 00000000..810317c1 --- /dev/null +++ b/src/com/engine/organization/service/impl/StaffOutServiceImpl.java @@ -0,0 +1,27 @@ +package com.engine.organization.service.impl; + +import com.engine.core.impl.Service; +import com.engine.organization.entity.staff.param.StaffOutParam; +import com.engine.organization.entity.staff.param.TransactionParam; +import com.engine.organization.service.StaffOutService; + +/** + * @Author liang.cheng + * @Date 2023/9/1 10:27 AM + * @Description: 编制外部调用 + * @Version 1.0 + */ +public class StaffOutServiceImpl extends Service implements StaffOutService { + + + @Override + public Integer changeStaff(StaffOutParam staffOutParam) { + + return null; + } + + @Override + public Integer transactionOnJob(TransactionParam transactionParam) { + return null; + } +} diff --git a/src/com/engine/organization/web/StaffOutController.java b/src/com/engine/organization/web/StaffOutController.java new file mode 100644 index 00000000..0198c36c --- /dev/null +++ b/src/com/engine/organization/web/StaffOutController.java @@ -0,0 +1,59 @@ +package com.engine.organization.web; + +import com.engine.common.util.ServiceUtil; +import com.engine.organization.entity.staff.param.StaffOutParam; +import com.engine.organization.entity.staff.param.StaffSearchParam; +import com.engine.organization.entity.staff.param.TransactionParam; +import com.engine.organization.service.StaffOutService; +import com.engine.organization.service.impl.StaffOutServiceImpl; +import com.engine.organization.util.response.ReturnResult; +import io.swagger.v3.oas.annotations.parameters.RequestBody; +import weaver.hrm.HrmUserVarify; +import weaver.hrm.User; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +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; + +/** + * @Author liang.cheng + * @Date 2023/9/1 10:19 AM + * @Description: 编制外部调用 + * @Version 1.0 + */ +public class StaffOutController { + + public StaffOutService staffOutService(User user) { + return ServiceUtil.getService(StaffOutServiceImpl.class, user); + } + + + @POST + @Path("/change") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult changeStaff(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody StaffOutParam staffOutParam) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(staffOutService(user).changeStaff(staffOutParam)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + @POST + @Path("/transaction") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult transactionOnJob(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TransactionParam transactionParam) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(staffOutService(user).transactionOnJob(transactionParam)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + +}