weaver-hrm-salary/src/com/engine/salary/web/TaxAgentController.java

409 lines
17 KiB
Java
Raw Normal View History

package com.engine.salary.web;
import com.engine.common.util.ServiceUtil;
2022-11-22 15:37:07 +08:00
import com.engine.salary.entity.taxagent.dto.TaxAgentFormDTO;
import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeEmployeeDTO;
import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeFormDTO;
import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeListDTO;
2022-05-24 09:14:26 +08:00
import com.engine.salary.entity.taxagent.param.*;
import com.engine.salary.entity.taxagent.po.TaxAgentBasePO;
import com.engine.salary.util.ResponseResult;
2022-05-24 09:14:26 +08:00
import com.engine.salary.util.page.PageInfo;
import com.engine.salary.wrapper.TaxAgentBaseWrapper;
import com.engine.salary.wrapper.TaxAgentSubAdminWrapper;
import com.engine.salary.wrapper.TaxAgentWrapper;
2022-03-01 18:49:22 +08:00
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;
2022-05-31 16:41:11 +08:00
import javax.ws.rs.*;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
2022-03-01 18:49:22 +08:00
import java.util.Collection;
2022-05-24 09:14:26 +08:00
import java.util.Collections;
import java.util.List;
2022-05-05 10:35:58 +08:00
import java.util.Map;
2022-03-01 13:44:38 +08:00
public class TaxAgentController {
2022-05-24 09:14:26 +08:00
private TaxAgentBaseWrapper getTaxAgentBaseWrapper(User user) {
return ServiceUtil.getService(TaxAgentBaseWrapper.class, user);
}
private TaxAgentSubAdminWrapper getTaxAgentSubAdminWrapper(User user) {
return ServiceUtil.getService(TaxAgentSubAdminWrapper.class, user);
}
2022-11-22 15:37:07 +08:00
2022-05-24 09:14:26 +08:00
private TaxAgentWrapper getTaxAgentWrapper(User user) {
return ServiceUtil.getService(TaxAgentWrapper.class, user);
}
2022-05-18 09:19:50 +08:00
/**
* 是否是薪酬模块总管理员
*/
@GET
@Path("/isChief")
@Produces(MediaType.APPLICATION_JSON)
2022-05-24 09:14:26 +08:00
public String isChief(@Context HttpServletRequest request, @Context HttpServletResponse response) {
2022-05-18 09:19:50 +08:00
User user = HrmUserVarify.getUser(request, response);
2022-05-24 09:14:26 +08:00
return new ResponseResult<Long, Boolean>(user).run(getTaxAgentWrapper(user)::isChief, (long) user.getUID());
2022-05-18 09:19:50 +08:00
}
2022-05-24 09:14:26 +08:00
/**
* 权限信息
2022-11-22 15:37:07 +08:00
*
2022-05-24 09:14:26 +08:00
* @param request
* @param response
* @return
*/
@GET
@Path("/permission")
@Produces(MediaType.APPLICATION_JSON)
public String permission(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<Long, Map<String, Boolean>>(user).run(getTaxAgentWrapper(user)::permission, (long) user.getUID());
2022-05-18 09:19:50 +08:00
}
2022-05-24 09:14:26 +08:00
/* ****** 基础信息 start ***********************************************************************************************/
2022-05-18 09:19:50 +08:00
2022-05-24 09:14:26 +08:00
/**
* 获取个税扣缴义务人基础信息表单
*
* @return
*/
@GET
2022-05-24 09:14:26 +08:00
@Path("/base/getForm")
@Produces(MediaType.APPLICATION_JSON)
public String getBaseFrom(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<Long, TaxAgentBasePO>(user).run(getTaxAgentBaseWrapper(user)::getFrom);
}
/**
* 保存个税扣缴义务人基础信息
*
* @param saveBaseParam
* @return
*/
@POST
@Path("/base/save")
@Produces(MediaType.APPLICATION_JSON)
public String saveBase(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSaveBaseParam saveBaseParam) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<TaxAgentSaveBaseParam, String>(user).run(getTaxAgentBaseWrapper(user)::save, saveBaseParam);
}
/* ******* 基础信息 end ***********************************************************************************************/
/* ******* 个税扣缴义务人 start ***********************************************************************************************/
/**
* 个税扣缴义务人列表
*
* @param queryParam
* @return
*/
@POST
@Path("/list")
@Produces(MediaType.APPLICATION_JSON)
2022-05-24 09:14:26 +08:00
public String list(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentQueryParam queryParam) {
User user = HrmUserVarify.getUser(request, response);
2022-05-30 20:13:03 +08:00
return new ResponseResult<TaxAgentQueryParam, PageInfo<Map<String, Object>>>(user).run(getTaxAgentWrapper(user)::list, queryParam);
2022-05-24 09:14:26 +08:00
}
//查询个税扣缴义务人下面的代缴机构")
@GET
@Path("/paymentAgency/list")
@Produces(MediaType.APPLICATION_JSON)
2022-05-31 16:41:11 +08:00
public String paymentAgencyList(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "id") Long id) {
2022-05-24 09:14:26 +08:00
User user = HrmUserVarify.getUser(request, response);
TaxAgentQueryParam queryParam = new TaxAgentQueryParam();
queryParam.setIds(Collections.singleton(id));
return new ResponseResult<TaxAgentQueryParam, List<Map<String, Object>>>(user).run(getTaxAgentWrapper(user)::paymentAgencyList, queryParam);
}
//保存个税扣缴义务人下的代缴机构")
@POST
@Path("/paymentAgency/save")
@Produces(MediaType.APPLICATION_JSON)
public String paymentAgencySave(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSaveParam saveParam) {
User user = HrmUserVarify.getUser(request, response);
2022-05-24 09:14:26 +08:00
return new ResponseResult<TaxAgentSaveParam, String>(user).run(getTaxAgentWrapper(user)::paymentAgencySave, saveParam);
}
2022-05-24 09:14:26 +08:00
/**
* 获取个税扣缴义务人表单
*
2022-07-01 15:18:29 +08:00
* @param id 表单id
* @return 表单对象
2022-05-24 09:14:26 +08:00
*/
@GET
@Path("/getForm")
@Produces(MediaType.APPLICATION_JSON)
2022-05-31 16:41:11 +08:00
public String getFrom(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "id") Long id) {
User user = HrmUserVarify.getUser(request, response);
2022-05-24 09:14:26 +08:00
return new ResponseResult<Long, TaxAgentFormDTO>(user).run(getTaxAgentWrapper(user)::getFrom, id);
}
2022-05-24 09:14:26 +08:00
/**
* 新建个税扣缴义务人
*
2022-07-01 15:18:29 +08:00
* @param saveParam 个税扣缴义务人保存参数
* @return 个税扣缴义务人id
2022-05-24 09:14:26 +08:00
*/
@POST
@Path("/save")
@Produces(MediaType.APPLICATION_JSON)
2022-05-24 09:14:26 +08:00
public String save(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSaveParam saveParam) {
User user = HrmUserVarify.getUser(request, response);
2022-05-24 09:14:26 +08:00
return new ResponseResult<TaxAgentSaveParam, String>(user).run(getTaxAgentWrapper(user)::save, saveParam);
}
/**
* 编辑个税扣缴义务人
2022-05-24 09:14:26 +08:00
*
* @param saveParam
* @return
*/
@POST
@Path("/update")
@Produces(MediaType.APPLICATION_JSON)
2022-05-24 09:14:26 +08:00
public String update(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSaveParam saveParam) {
User user = HrmUserVarify.getUser(request, response);
2022-05-24 09:14:26 +08:00
return new ResponseResult<TaxAgentSaveParam, String>(user).run(getTaxAgentWrapper(user)::update, saveParam);
}
/**
2022-05-24 09:14:26 +08:00
* 更换管理员校验
*
* @param checkParam
* @return
*/
@POST
@Path("/adminChangeCheck")
@Produces(MediaType.APPLICATION_JSON)
public String adminChangeCheck(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentAdminChangeCheckParam checkParam) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<TaxAgentAdminChangeCheckParam, Boolean>(user).run(getTaxAgentWrapper(user)::adminChangeCheck, checkParam);
}
/**
* 删除个税扣缴义务人
*
* @param ids
* @return
*/
@POST
@Path("/delete")
@Produces(MediaType.APPLICATION_JSON)
2022-12-02 16:58:19 +08:00
public String delete(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody List<Long> ids) {
User user = HrmUserVarify.getUser(request, response);
2022-12-02 16:58:19 +08:00
return new ResponseResult<List<Long>, String>(user).run(getTaxAgentWrapper(user)::delete, ids);
2022-05-24 09:14:26 +08:00
}
/**
* 人员范围列表
*
* @param queryParam
* @return
*/
@POST
@Path("/range/listInclude")
@Produces(MediaType.APPLICATION_JSON)
public String rangeListInclude(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentRangeQueryParam queryParam) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<TaxAgentRangeQueryParam, PageInfo<TaxAgentManageRangeListDTO>>(user).run(getTaxAgentWrapper(user)::listRangeInclude, queryParam);
}
/**
2022-05-31 16:41:11 +08:00
* 人员范围排除列表
2022-05-24 09:14:26 +08:00
*
* @param queryParam
* @return
*/
@POST
@Path("/range/listExclude")
@Produces(MediaType.APPLICATION_JSON)
public String rangeListExclude(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentRangeQueryParam queryParam) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<TaxAgentRangeQueryParam, PageInfo<TaxAgentManageRangeListDTO>>(user).run(getTaxAgentWrapper(user)::listRangeExclude, queryParam);
}
//获取人员范围表单")
@POST
@Path("/range/getForm")
@Produces(MediaType.APPLICATION_JSON)
public String getRangeFrom(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<String, TaxAgentManageRangeFormDTO>(user).run(getTaxAgentWrapper(user)::getRangeFrom);
}
//保存人员范围
@POST
@Path("/range/save")
@Produces(MediaType.APPLICATION_JSON)
public String saveRange(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentRangeSaveParam saveParam) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<TaxAgentRangeSaveParam, String>(user).run(getTaxAgentWrapper(user)::saveRange, saveParam);
}
//删除人员范围
@POST
@Path("/range/delete")
@Produces(MediaType.APPLICATION_JSON)
public String deleteRange(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection<Long> ids) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<Collection<Long>, String>(user).run(getTaxAgentWrapper(user)::deleteRange, ids);
2022-02-28 11:12:55 +08:00
}
/**
* 个税扣缴义务人下拉列表
2022-05-24 09:14:26 +08:00
*
* @return
*/
2022-05-27 17:21:39 +08:00
@GET
@Path("/selectList")
@Produces(MediaType.APPLICATION_JSON)
public String selectList(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
2022-05-24 09:14:26 +08:00
return new ResponseResult<Collection<Long>, List<Map<String, Object>>>(user).run(getTaxAgentWrapper(user)::selectList);
}
2022-07-05 15:31:18 +08:00
@GET
@Path("/selectListAsAdmin")
@Produces(MediaType.APPLICATION_JSON)
public String selectListAsAdmin(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<Collection<Long>, List<Map<String, Object>>>(user).run(getTaxAgentWrapper(user)::selectListAsAdmin);
}
@GET
@Path("/getEmpListInTaxAgent")
@Produces(MediaType.APPLICATION_JSON)
public String getEmpListInTaxAgent(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "id") Long id) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<Long, List<TaxAgentManageRangeEmployeeDTO>>(user).run(getTaxAgentWrapper(user)::getEmpListInTaxAgent, id);
}
2022-11-22 15:37:07 +08:00
//同步人员范围
@POST
@Path("/range/sync")
@Produces(MediaType.APPLICATION_JSON)
public String syncRange(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<Long, String>(user).run(getTaxAgentWrapper(user)::syncRange);
}
2022-05-24 09:14:26 +08:00
/* ******* 个税扣缴义务人 end ***********************************************************************************************/
/* ******* 分管理员 start ***********************************************************************************************/
/**
* 分管理员列表
*
* @param queryParam
* @return
*/
2022-05-31 16:41:11 +08:00
// @POST
// @Path("/subAdmin/list")
// @Produces(MediaType.APPLICATION_JSON)
// public String subAdminList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSubAdminQueryParam queryParam) {
// User user = HrmUserVarify.getUser(request, response);
// return new ResponseResult<TaxAgentSubAdminQueryParam, PageInfo<TaxAgentSubAdminListDTO>>(user).run(getTaxAgentSubAdminWrapper(user)::list, queryParam);
// }
2022-05-24 09:14:26 +08:00
/**
* 获取分管理员基础设置表单
*
* @return
*/
2022-05-31 16:41:11 +08:00
// @POST
// @Path("/subAdmin/getBaseForm")
// @Produces(MediaType.APPLICATION_JSON)
// public String getSubAdminBaseFrom(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSubAdminBaseFormParam baseFormParam) {
// User user = HrmUserVarify.getUser(request, response);
// return new ResponseResult<TaxAgentSubAdminBaseFormParam, TaxAgentSubAdminBaseFormDTO>(user).run(getTaxAgentSubAdminWrapper(user)::getBaseFrom, baseFormParam);
// }
2022-05-24 09:14:26 +08:00
/**
* 分管理员基础设置保存
*
* @param saveParam
* @return
*/
2022-05-31 16:41:11 +08:00
// @POST
// @Path("/subAdmin/saveBase")
// @Produces(MediaType.APPLICATION_JSON)
// public String saveSubAdminBase(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSubAdminBaseSaveParam saveParam) {
// User user = HrmUserVarify.getUser(request, response);
// return new ResponseResult<TaxAgentSubAdminBaseSaveParam, String>(user).run(getTaxAgentSubAdminWrapper(user)::saveBase, saveParam);
// }
2022-05-24 09:14:26 +08:00
/**
* 删除个税扣缴义务人分管理员
*
* @param ids
* @return
*/
2022-05-31 16:41:11 +08:00
// @POST
// @Path("/subAdmin/delete")
// @Produces(MediaType.APPLICATION_JSON)
// public String deleteSubAdmin(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection<Long> ids) {
// User user = HrmUserVarify.getUser(request, response);
// return new ResponseResult<Collection<Long>, String>(user).run(getTaxAgentSubAdminWrapper(user)::delete, ids);
// }
2022-05-24 09:14:26 +08:00
//分管理员的管理范围列表
2022-05-31 16:41:11 +08:00
// @POST
// @Path("/subAdmin/range/listInclude")
// @Produces(MediaType.APPLICATION_JSON)
// public String subAdminRangeListInclude(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSubAdminRangeQueryParam queryParam) {
// User user = HrmUserVarify.getUser(request, response);
// return new ResponseResult<TaxAgentSubAdminRangeQueryParam, PageInfo<TaxAgentManageRangeListDTO>>(user).run(getTaxAgentSubAdminWrapper(user)::listRangeInclude, queryParam);
// }
2022-05-24 09:14:26 +08:00
//分管理员的管理范围排除列表
2022-05-31 16:41:11 +08:00
// @POST
// @Path("/subAdmin/range/listExclude")
// @Produces(MediaType.APPLICATION_JSON)
// public String subAdminRangeListExclude(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSubAdminRangeQueryParam queryParam) {
// User user = HrmUserVarify.getUser(request, response);
// return new ResponseResult<TaxAgentSubAdminRangeQueryParam, PageInfo<TaxAgentManageRangeListDTO>>(user).run(getTaxAgentSubAdminWrapper(user)::listRangeExclude, queryParam);
// }
2022-05-24 09:14:26 +08:00
//获取分管理员的管理范围表单
2022-05-31 16:41:11 +08:00
// @POST
// @Path("/subAdmin/range/getForm")
// @Produces(MediaType.APPLICATION_JSON)
// public String getSubAdminRangeFrom(@Context HttpServletRequest request, @Context HttpServletResponse response) {
// User user = HrmUserVarify.getUser(request, response);
// return new ResponseResult<TaxAgentSubAdminRangeQueryParam, TaxAgentManageRangeFormDTO>(user).run(getTaxAgentSubAdminWrapper(user)::getRangeFrom);
// }
2022-05-24 09:14:26 +08:00
//保存分管理员的管理范围
2022-05-31 16:41:11 +08:00
// @POST
// @Path("/subAdmin/range/save")
// @Produces(MediaType.APPLICATION_JSON)
// public String saveSubAdminRange(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSubAdminRangeSaveParam saveParam) {
// User user = HrmUserVarify.getUser(request, response);
// return new ResponseResult<TaxAgentSubAdminRangeSaveParam, TaxAgentManageRangeFormDTO>(user).run(getTaxAgentSubAdminWrapper(user)::saveRange, saveParam);
// }
2022-05-24 09:14:26 +08:00
//删除分管理员的管理范围
2022-05-31 16:41:11 +08:00
// @POST
// @Path("/subAdmin/range/delete")
// @Produces(MediaType.APPLICATION_JSON)
// public String deleteSubAdminRange(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection<Long> ids) {
// User user = HrmUserVarify.getUser(request, response);
// return new ResponseResult<Collection<Long>, String>(user).run(getTaxAgentSubAdminWrapper(user)::deleteRange, ids);
// }
2022-05-24 09:14:26 +08:00
/******** 分管理员 end ***********************************************************************************************/
}