From 1e134de35bec3ff2f6ef680a850d18ba3c9ee298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Wed, 2 Mar 2022 11:09:23 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A8=8E=E7=8E=87=E8=A1=A8=E8=AF=A6=E7=BB=86?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/web/AddUpDeductionController.java | 8 ++++ src/com/engine/salary/biz/TaxRateBiz.java | 33 +++++++++++++---- .../engine/salary/biz/TaxRateDetailBiz.java | 13 +++++++ .../salary/cmd/TaxRate/TaxRateDeleteCmd.java | 9 ++--- .../salary/cmd/TaxRate/TaxRateGetFormCmd.java | 37 +++++++++++++++++++ .../TaxDeclarationDeleteCmd.java | 2 +- .../TaxDeclarationListCmd.java | 2 +- .../TaxDeclarationSaveCmd.java | 2 +- .../TaxDeclarationUpdateCmd.java | 2 +- .../entity/taxrate/vo/TaxRateFormVo.java | 31 ++++++++++++++++ .../salary/service/TaxRateBaseService.java | 2 + .../service/impl/TaxAgentServiceImpl.java | 3 -- .../impl/TaxDeclarationServiceImpl.java | 8 ++-- .../service/impl/TaxRateBaseServiceImpl.java | 10 +++-- .../salary/web/AddUpDeductionController.java | 4 ++ .../engine/salary/web/TaxRateController.java | 16 +++++++- 16 files changed, 152 insertions(+), 30 deletions(-) create mode 100644 src/com/api/salary/web/AddUpDeductionController.java create mode 100644 src/com/engine/salary/cmd/TaxRate/TaxRateGetFormCmd.java rename src/com/engine/salary/cmd/{TaxDeclaration => taxDeclaration}/TaxDeclarationDeleteCmd.java (96%) rename src/com/engine/salary/cmd/{TaxDeclaration => taxDeclaration}/TaxDeclarationListCmd.java (98%) rename src/com/engine/salary/cmd/{TaxDeclaration => taxDeclaration}/TaxDeclarationSaveCmd.java (95%) rename src/com/engine/salary/cmd/{TaxDeclaration => taxDeclaration}/TaxDeclarationUpdateCmd.java (95%) create mode 100644 src/com/engine/salary/entity/taxrate/vo/TaxRateFormVo.java create mode 100644 src/com/engine/salary/web/AddUpDeductionController.java diff --git a/src/com/api/salary/web/AddUpDeductionController.java b/src/com/api/salary/web/AddUpDeductionController.java new file mode 100644 index 000000000..37b454324 --- /dev/null +++ b/src/com/api/salary/web/AddUpDeductionController.java @@ -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{ + +} diff --git a/src/com/engine/salary/biz/TaxRateBiz.java b/src/com/engine/salary/biz/TaxRateBiz.java index 550bb07f7..5de95c902 100644 --- a/src/com/engine/salary/biz/TaxRateBiz.java +++ b/src/com/engine/salary/biz/TaxRateBiz.java @@ -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 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 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(); + } + + } diff --git a/src/com/engine/salary/biz/TaxRateDetailBiz.java b/src/com/engine/salary/biz/TaxRateDetailBiz.java index 6b9f3390a..a317bab92 100644 --- a/src/com/engine/salary/biz/TaxRateDetailBiz.java +++ b/src/com/engine/salary/biz/TaxRateDetailBiz.java @@ -24,4 +24,17 @@ public class TaxRateDetailBiz extends BaseBean { } + public List listByBaseId(Long baseId) { + SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); + try { + TaxRateDetailMapper taxRateDetailMapper = sqlSession.getMapper(TaxRateDetailMapper.class); + + return taxRateDetailMapper.listByBaseId(baseId); + + } finally { + sqlSession.close(); + } + } + + } diff --git a/src/com/engine/salary/cmd/TaxRate/TaxRateDeleteCmd.java b/src/com/engine/salary/cmd/TaxRate/TaxRateDeleteCmd.java index e88e7dcee..690885ce2 100644 --- a/src/com/engine/salary/cmd/TaxRate/TaxRateDeleteCmd.java +++ b/src/com/engine/salary/cmd/TaxRate/TaxRateDeleteCmd.java @@ -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> { @@ -31,11 +29,10 @@ public class TaxRateDeleteCmd extends AbstractCommonCommand> Map apidatas = new HashMap(16); - List idStrs = DataUtil.castList(params.get("ids"), String.class); - if (CollectionUtils.isEmpty(idStrs)) { + Collection ids = (Collection)params.get("ids"); + if (CollectionUtils.isEmpty(ids)) { throw new SalaryRunTimeException("参数错误"); } - List ids = idStrs.stream().map(Long::valueOf).collect(Collectors.toList()); TaxRateBiz taxRateBiz = new TaxRateBiz(); taxRateBiz.deleteByIds(ids); diff --git a/src/com/engine/salary/cmd/TaxRate/TaxRateGetFormCmd.java b/src/com/engine/salary/cmd/TaxRate/TaxRateGetFormCmd.java new file mode 100644 index 000000000..7a5af8521 --- /dev/null +++ b/src/com/engine/salary/cmd/TaxRate/TaxRateGetFormCmd.java @@ -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> { + + public TaxRateGetFormCmd(Map params, User user) { + this.user = user; + this.params = params; + } + + @Override + public BizLogContext getLogContext() { + return null; + } + + @Override + public Map execute(CommandContext commandContext) { + Map apidatas = new HashMap(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; + } + + +} diff --git a/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationDeleteCmd.java b/src/com/engine/salary/cmd/taxDeclaration/TaxDeclarationDeleteCmd.java similarity index 96% rename from src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationDeleteCmd.java rename to src/com/engine/salary/cmd/taxDeclaration/TaxDeclarationDeleteCmd.java index 36b10d47a..19572b59c 100644 --- a/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationDeleteCmd.java +++ b/src/com/engine/salary/cmd/taxDeclaration/TaxDeclarationDeleteCmd.java @@ -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; diff --git a/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationListCmd.java b/src/com/engine/salary/cmd/taxDeclaration/TaxDeclarationListCmd.java similarity index 98% rename from src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationListCmd.java rename to src/com/engine/salary/cmd/taxDeclaration/TaxDeclarationListCmd.java index f8bc26ded..aae780f9a 100644 --- a/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationListCmd.java +++ b/src/com/engine/salary/cmd/taxDeclaration/TaxDeclarationListCmd.java @@ -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; diff --git a/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationSaveCmd.java b/src/com/engine/salary/cmd/taxDeclaration/TaxDeclarationSaveCmd.java similarity index 95% rename from src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationSaveCmd.java rename to src/com/engine/salary/cmd/taxDeclaration/TaxDeclarationSaveCmd.java index ac62a96c5..cd369c475 100644 --- a/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationSaveCmd.java +++ b/src/com/engine/salary/cmd/taxDeclaration/TaxDeclarationSaveCmd.java @@ -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; diff --git a/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationUpdateCmd.java b/src/com/engine/salary/cmd/taxDeclaration/TaxDeclarationUpdateCmd.java similarity index 95% rename from src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationUpdateCmd.java rename to src/com/engine/salary/cmd/taxDeclaration/TaxDeclarationUpdateCmd.java index 3c015948c..1e54ab394 100644 --- a/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationUpdateCmd.java +++ b/src/com/engine/salary/cmd/taxDeclaration/TaxDeclarationUpdateCmd.java @@ -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; diff --git a/src/com/engine/salary/entity/taxrate/vo/TaxRateFormVo.java b/src/com/engine/salary/entity/taxrate/vo/TaxRateFormVo.java new file mode 100644 index 000000000..d59ec3854 --- /dev/null +++ b/src/com/engine/salary/entity/taxrate/vo/TaxRateFormVo.java @@ -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 taxRateRecords; + +} diff --git a/src/com/engine/salary/service/TaxRateBaseService.java b/src/com/engine/salary/service/TaxRateBaseService.java index 4a2df459a..1623902e7 100644 --- a/src/com/engine/salary/service/TaxRateBaseService.java +++ b/src/com/engine/salary/service/TaxRateBaseService.java @@ -13,4 +13,6 @@ public interface TaxRateBaseService { Map save(Map params); Map update(Map params); + + Map getForm(Map params); } diff --git a/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java b/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java index 9ee55e903..1e7c7833f 100644 --- a/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java @@ -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; diff --git a/src/com/engine/salary/service/impl/TaxDeclarationServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclarationServiceImpl.java index cec06fb8f..ce30a20e1 100644 --- a/src/com/engine/salary/service/impl/TaxDeclarationServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxDeclarationServiceImpl.java @@ -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; diff --git a/src/com/engine/salary/service/impl/TaxRateBaseServiceImpl.java b/src/com/engine/salary/service/impl/TaxRateBaseServiceImpl.java index 248bdc589..9b0012697 100644 --- a/src/com/engine/salary/service/impl/TaxRateBaseServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxRateBaseServiceImpl.java @@ -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 getForm(Map params) { + return commandExecutor.execute(new TaxRateGetFormCmd(params, user)); + } + @Override public Map delete(Map params) { diff --git a/src/com/engine/salary/web/AddUpDeductionController.java b/src/com/engine/salary/web/AddUpDeductionController.java new file mode 100644 index 000000000..8a1df57ff --- /dev/null +++ b/src/com/engine/salary/web/AddUpDeductionController.java @@ -0,0 +1,4 @@ +package com.engine.salary.web; + +public class AddUpDeductionController { +} diff --git a/src/com/engine/salary/web/TaxRateController.java b/src/com/engine/salary/web/TaxRateController.java index 66c854c64..a72c2df62 100644 --- a/src/com/engine/salary/web/TaxRateController.java +++ b/src/com/engine/salary/web/TaxRateController.java @@ -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 ids) { User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + map.put("ids",ids); return ResponseResult.run(getService(user)::delete, ParamUtil.request2Map(request)); }