税率表详细信息接口

This commit is contained in:
钱涛 2022-03-02 11:09:23 +08:00
parent 87d278448c
commit 1e134de35b
16 changed files with 152 additions and 30 deletions

View File

@ -0,0 +1,8 @@
package com.api.salary.web;
import javax.ws.rs.Path;
@Path("/bs/hrmsalary/addUpDeduction")
public class AddUpDeductionController extends com.engine.salary.web.AddUpDeductionController{
}

View File

@ -5,6 +5,7 @@ import com.engine.salary.entity.taxrate.TaxRateBase;
import com.engine.salary.entity.taxrate.TaxRateDetail;
import com.engine.salary.entity.taxrate.bo.TaxRateBO;
import com.engine.salary.entity.taxrate.param.TaxRateSaveParam;
import com.engine.salary.entity.taxrate.vo.TaxRateFormVo;
import com.engine.salary.enums.SalarySystemTypeEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.SysTaxRateBaseMapper;
@ -18,10 +19,7 @@ import org.springframework.beans.BeanUtils;
import weaver.conn.mybatis.MyBatisFactory;
import weaver.general.BaseBean;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
public class TaxRateBiz extends BaseBean {
@ -39,7 +37,11 @@ public class TaxRateBiz extends BaseBean {
if (Objects.isNull(TaxRateBase)) {
SysTaxRateBase sysTaxRateBase = sysTaxRateBaseMapper.getById(id);
TaxRateBase = new TaxRateBase();
BeanUtils.copyProperties(sysTaxRateBase, TaxRateBase);
//fixme 逻辑可能有问题自定义和系统的id保持一致
if (sysTaxRateBase != null) {
BeanUtils.copyProperties(sysTaxRateBase, TaxRateBase);
}
}
return TaxRateBase;
@ -82,7 +84,6 @@ public class TaxRateBiz extends BaseBean {
}
public List<TaxRateBase> listByName(String name) {
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
try {
@ -231,7 +232,6 @@ public class TaxRateBiz extends BaseBean {
}
}
public void update(TaxRateSaveParam updateParam, Long employeeId) {
@ -297,4 +297,23 @@ public class TaxRateBiz extends BaseBean {
}
}
/**
* 个税税率表详情
*
* @param id 主表主键id
* @return
*/
public TaxRateFormVo getForm(Long id) {
if (id != null) {
// 查询个税税率表主表
TaxRateBase taxRateBasePo = getById(id);
// 查询个税税率表明细表
List<TaxRateDetail> taxRateDetailPOS = new TaxRateDetailBiz().listByBaseId(id);
return TaxRateFormVo.builder().taxRateBatch(taxRateBasePo).taxRateRecords(taxRateDetailPOS).systemType(Optional.ofNullable(taxRateBasePo.getSystemType()).map(SalarySystemTypeEnum::parseByValue).orElse(SalarySystemTypeEnum.CUSTOM)).build();
}
return TaxRateFormVo.builder().build();
}
}

View File

@ -24,4 +24,17 @@ public class TaxRateDetailBiz extends BaseBean {
}
public List<TaxRateDetail> listByBaseId(Long baseId) {
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
try {
TaxRateDetailMapper taxRateDetailMapper = sqlSession.getMapper(TaxRateDetailMapper.class);
return taxRateDetailMapper.listByBaseId(baseId);
} finally {
sqlSession.close();
}
}
}

View File

@ -5,14 +5,12 @@ import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.salary.biz.TaxRateBiz;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.util.DataUtil;
import org.apache.commons.collections4.CollectionUtils;
import weaver.hrm.User;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class TaxRateDeleteCmd extends AbstractCommonCommand<Map<String, Object>> {
@ -31,11 +29,10 @@ public class TaxRateDeleteCmd extends AbstractCommonCommand<Map<String, Object>>
Map<String, Object> apidatas = new HashMap<String, Object>(16);
List<String> idStrs = DataUtil.castList(params.get("ids"), String.class);
if (CollectionUtils.isEmpty(idStrs)) {
Collection<Long> ids = (Collection<Long>)params.get("ids");
if (CollectionUtils.isEmpty(ids)) {
throw new SalaryRunTimeException("参数错误");
}
List<Long> ids = idStrs.stream().map(Long::valueOf).collect(Collectors.toList());
TaxRateBiz taxRateBiz = new TaxRateBiz();
taxRateBiz.deleteByIds(ids);

View File

@ -0,0 +1,37 @@
package com.engine.salary.cmd.TaxRate;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.salary.biz.TaxRateBiz;
import com.engine.salary.entity.taxrate.vo.TaxRateFormVo;
import weaver.general.Util;
import weaver.hrm.User;
import java.util.HashMap;
import java.util.Map;
public class TaxRateGetFormCmd extends AbstractCommonCommand<Map<String, Object>> {
public TaxRateGetFormCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> apidatas = new HashMap<String, Object>(16);
TaxRateBiz taxRateBiz = new TaxRateBiz();
Long id = Long.valueOf(Util.null2String(params.get("id")));
TaxRateFormVo form = taxRateBiz.getForm(id);
apidatas.put("form",form);
return apidatas;
}
}

View File

@ -1,4 +1,4 @@
package com.engine.salary.cmd.TaxDeclaration;
package com.engine.salary.cmd.taxDeclaration;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;

View File

@ -1,4 +1,4 @@
package com.engine.salary.cmd.TaxDeclaration;
package com.engine.salary.cmd.taxDeclaration;
import com.cloudstore.eccom.constant.WeaBoolAttr;
import com.cloudstore.eccom.pc.table.WeaTable;

View File

@ -1,4 +1,4 @@
package com.engine.salary.cmd.TaxDeclaration;
package com.engine.salary.cmd.taxDeclaration;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;

View File

@ -1,4 +1,4 @@
package com.engine.salary.cmd.TaxDeclaration;
package com.engine.salary.cmd.taxDeclaration;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;

View File

@ -0,0 +1,31 @@
package com.engine.salary.entity.taxrate.vo;
import com.engine.salary.entity.taxrate.TaxRateBase;
import com.engine.salary.entity.taxrate.TaxRateDetail;
import com.engine.salary.enums.SalarySystemTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.util.List;
@Data
@Builder
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
//@ApiModel("税率表税表")
public class TaxRateFormVo {
// @ApiModelProperty("是否是系统默认。CUSTOM自定义、SYSTEM系统")
private SalarySystemTypeEnum systemType;
// @ApiModelProperty("基本信息")
private TaxRateBase taxRateBatch;
// @ApiModelProperty("详细设置")
private List<TaxRateDetail> taxRateRecords;
}

View File

@ -13,4 +13,6 @@ public interface TaxRateBaseService {
Map<String, Object> save(Map<String, Object> params);
Map<String, Object> update(Map<String, Object> params);
Map<String, Object> getForm(Map<String, Object> params);
}

View File

@ -1,11 +1,8 @@
package com.engine.salary.service.impl;
import com.cloudstore.eccom.pc.table.WeaTable;
import com.engine.core.impl.Service;
import com.engine.portrait.cmd.individual.GetIndividualItemDataCmd;
import com.engine.salary.cmd.TaxAgent.*;
import com.engine.salary.service.TaxAgentService;
import weaver.hrm.User;
import java.util.Map;

View File

@ -1,10 +1,10 @@
package com.engine.salary.service.impl;
import com.engine.core.impl.Service;
import com.engine.salary.cmd.TaxDeclaration.TaxDeclarationDeleteCmd;
import com.engine.salary.cmd.TaxDeclaration.TaxDeclarationListCmd;
import com.engine.salary.cmd.TaxDeclaration.TaxDeclarationSaveCmd;
import com.engine.salary.cmd.TaxDeclaration.TaxDeclarationUpdateCmd;
import com.engine.salary.cmd.taxDeclaration.TaxDeclarationDeleteCmd;
import com.engine.salary.cmd.taxDeclaration.TaxDeclarationListCmd;
import com.engine.salary.cmd.taxDeclaration.TaxDeclarationSaveCmd;
import com.engine.salary.cmd.taxDeclaration.TaxDeclarationUpdateCmd;
import com.engine.salary.service.TaxDeclarationService;
import java.util.Map;

View File

@ -1,10 +1,7 @@
package com.engine.salary.service.impl;
import com.engine.core.impl.Service;
import com.engine.salary.cmd.TaxRate.TaxRateDeleteCmd;
import com.engine.salary.cmd.TaxRate.TaxRateListCmd;
import com.engine.salary.cmd.TaxRate.TaxRateSaveCmd;
import com.engine.salary.cmd.TaxRate.TaxRateUpdateCmd;
import com.engine.salary.cmd.TaxRate.*;
import com.engine.salary.service.TaxRateBaseService;
import java.util.Map;
@ -28,6 +25,11 @@ public class TaxRateBaseServiceImpl extends Service implements TaxRateBaseServic
return commandExecutor.execute(new TaxRateUpdateCmd(params, user));
}
@Override
public Map<String, Object> getForm(Map<String, Object> params) {
return commandExecutor.execute(new TaxRateGetFormCmd(params, user));
}
@Override
public Map<String, Object> delete(Map<String, Object> params) {

View File

@ -0,0 +1,4 @@
package com.engine.salary.web;
public class AddUpDeductionController {
}

View File

@ -19,6 +19,7 @@ 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.Collection;
import java.util.Map;
public class TaxRateController {
@ -39,6 +40,15 @@ public class TaxRateController {
return ResponseResult.run(getService(user)::listPage, ParamUtil.request2Map(request));
}
//税率表列表
@GET
@Path("/getForm")
@Produces(MediaType.APPLICATION_JSON)
public String getForm(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
return ResponseResult.run(getService(user)::getForm, ParamUtil.request2Map(request));
}
/**
* 新建税率表
@ -54,7 +64,7 @@ public class TaxRateController {
}
/**
* 新建税率表
* 编辑税率表
*/
@POST
@Path("/update")
@ -72,8 +82,10 @@ public class TaxRateController {
@POST
@Path("/delete")
@Produces(MediaType.APPLICATION_JSON)
public String deleteTaxRate(@Context HttpServletRequest request, @Context HttpServletResponse response) {
public String deleteTaxRate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection<Long> ids) {
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> map = ParamUtil.request2Map(request);
map.put("ids",ids);
return ResponseResult.run(getService(user)::delete, ParamUtil.request2Map(request));
}