From 87d278448ce268507f1e9d62039dae0f4aec11d7 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 09:54:55 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9A=82=E5=AD=98=E7=A8=8E=E7=8E=87?= =?UTF-8?q?=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TaxDeclarationDeleteCmd.java | 48 ++++ .../TaxDeclaration/TaxDeclarationListCmd.java | 83 +++++++ .../TaxDeclaration/TaxDeclarationSaveCmd.java | 33 +++ .../TaxDeclarationUpdateCmd.java | 33 +++ .../entity/taxdeclaration/TaxDeclaration.java | 59 +++++ .../taxdeclaration/TaxDeclarationDetail.java | 59 +++++ .../TaxDeclarationDetailMapper.java | 67 ++++++ .../TaxDeclarationDetailMapper.xml | 215 ++++++++++++++++++ .../taxdeclaration/TaxDeclarationMapper.java | 67 ++++++ .../taxdeclaration/TaxDeclarationMapper.xml | 215 ++++++++++++++++++ .../salary/service/TaxDeclarationService.java | 4 +- .../impl/TaxDeclarationServiceImpl.java | 20 +- 12 files changed, 892 insertions(+), 11 deletions(-) create mode 100644 src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationDeleteCmd.java create mode 100644 src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationListCmd.java create mode 100644 src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationSaveCmd.java create mode 100644 src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationUpdateCmd.java create mode 100644 src/com/engine/salary/entity/taxdeclaration/TaxDeclaration.java create mode 100644 src/com/engine/salary/entity/taxdeclaration/TaxDeclarationDetail.java create mode 100644 src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationDetailMapper.java create mode 100644 src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationDetailMapper.xml create mode 100644 src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.java create mode 100644 src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.xml diff --git a/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationDeleteCmd.java b/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationDeleteCmd.java new file mode 100644 index 000000000..36b10d47a --- /dev/null +++ b/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationDeleteCmd.java @@ -0,0 +1,48 @@ +package com.engine.salary.cmd.TaxDeclaration; + +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.exception.SalaryRunTimeException; +import com.engine.salary.util.DataUtil; +import org.apache.commons.collections4.CollectionUtils; +import weaver.hrm.User; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +public class TaxDeclarationDeleteCmd extends AbstractCommonCommand> { + + public TaxDeclarationDeleteCmd(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); + + + List idStrs = DataUtil.castList(params.get("ids"), String.class); + if (CollectionUtils.isEmpty(idStrs)) { + throw new SalaryRunTimeException("参数错误"); + } + List ids = idStrs.stream().map(Long::valueOf).collect(Collectors.toList()); + TaxRateBiz taxRateBiz = new TaxRateBiz(); + + taxRateBiz.deleteByIds(ids); + + return apidatas; + } + + + +} diff --git a/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationListCmd.java b/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationListCmd.java new file mode 100644 index 000000000..f8bc26ded --- /dev/null +++ b/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationListCmd.java @@ -0,0 +1,83 @@ +package com.engine.salary.cmd.TaxDeclaration; + +import com.cloudstore.eccom.constant.WeaBoolAttr; +import com.cloudstore.eccom.pc.table.WeaTable; +import com.cloudstore.eccom.pc.table.WeaTableColumn; +import com.cloudstore.eccom.result.WeaResultMsg; +import com.engine.common.biz.AbstractCommonCommand; +import com.engine.common.entity.BizLogContext; +import com.engine.core.interceptor.CommandContext; +import org.apache.commons.lang3.StringUtils; +import weaver.general.PageIdConst; +import weaver.general.Util; +import weaver.hrm.User; + +import java.util.HashMap; +import java.util.Map; + +public class TaxDeclarationListCmd extends AbstractCommonCommand> { + + public TaxDeclarationListCmd(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); + + WeaResultMsg result = new WeaResultMsg(false); + String pageID = "a4f85287-e3f9-4275-9527-7d06e54y6rj8"; + String pageUid = pageID + "_" + user.getUID(); + String pageSize = PageIdConst.getPageSize(pageID, user.getUID()); + + + String fileds = " create_time,creator,delete_type, description, id, name, system_type, tenant_key, update_time"; + String sql = " from hrsa_sys_tax_rate_base s " + + " where s.delete_type = 0"; + //模糊查询 + String name = Util.null2String(params.get("name")); + if (StringUtils.isNotBlank(name)) { + sql += " and s.name like '%" + name + "%' "; + } + sql += " union all " + + " select create_time,creator,delete_type, description, id, name, system_type, tenant_key, update_time " + + " from hrsa_tax_rate_base b " + + " where b.delete_type = 0 "; + //模糊查询 + if (StringUtils.isNotBlank(name)) { + sql += " and b.name like '%" + name + "%' "; + } + + WeaTable table = new WeaTable(); + table.setPageUID(pageUid); + table.setPageID(pageID); + table.setPagesize(pageSize); + table.setBackfields(fileds); + table.setSqlform(sql); +// table.setSqlwhere(); + table.setSqlorderby("id desc"); + table.setSqlprimarykey("id"); + table.setSqlisdistinct("false"); + + table.getColumns().add(new WeaTableColumn("id").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("20%", "名称", "name", "")); + table.getColumns().add(new WeaTableColumn("20%", "名称", "systemType", "")); + table.getColumns().add(new WeaTableColumn("20%", "名称", "createTime", "")); + table.getColumns().add(new WeaTableColumn("20%", "名称", "description", "")); + + //设置check是否可用 + table.setCheckboxList(null); + table.setCheckboxpopedom(null); + result.putAll(table.makeDataResult()); + result.success(); + apidatas = result.getResultMap(); + return apidatas; + } +} diff --git a/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationSaveCmd.java b/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationSaveCmd.java new file mode 100644 index 000000000..ac62a96c5 --- /dev/null +++ b/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationSaveCmd.java @@ -0,0 +1,33 @@ +package com.engine.salary.cmd.TaxDeclaration; + +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.param.TaxRateSaveParam; +import weaver.hrm.User; + +import java.util.HashMap; +import java.util.Map; + +public class TaxDeclarationSaveCmd extends AbstractCommonCommand> { + + public TaxDeclarationSaveCmd(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(); + TaxRateSaveParam taxRateSaveParam = (TaxRateSaveParam) params.get("taxRateSaveParam"); + taxRateBiz.save(taxRateSaveParam, (long) user.getUID()); + return apidatas; + } +} diff --git a/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationUpdateCmd.java b/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationUpdateCmd.java new file mode 100644 index 000000000..3c015948c --- /dev/null +++ b/src/com/engine/salary/cmd/TaxDeclaration/TaxDeclarationUpdateCmd.java @@ -0,0 +1,33 @@ +package com.engine.salary.cmd.TaxDeclaration; + +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.param.TaxRateSaveParam; +import weaver.hrm.User; + +import java.util.HashMap; +import java.util.Map; + +public class TaxDeclarationUpdateCmd extends AbstractCommonCommand> { + + public TaxDeclarationUpdateCmd(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(); + TaxRateSaveParam taxRateSaveParam = (TaxRateSaveParam) params.get("taxRateSaveParam"); + taxRateBiz.update(taxRateSaveParam, (long) user.getUID()); + return apidatas; + } +} diff --git a/src/com/engine/salary/entity/taxdeclaration/TaxDeclaration.java b/src/com/engine/salary/entity/taxdeclaration/TaxDeclaration.java new file mode 100644 index 000000000..086f0e45b --- /dev/null +++ b/src/com/engine/salary/entity/taxdeclaration/TaxDeclaration.java @@ -0,0 +1,59 @@ +package com.engine.salary.entity.taxdeclaration; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * 个税申报表 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TaxDeclaration { + /** + * 创建时间 + */ + private Date createTime; + /** + * 创建人 + */ + private Long creator; + /** + * 是否已删除。0:未删除、1:已删除 + */ + private Integer deleteType; + /** + * 备注 + */ + private String description; + /** + * 主键id + */ + private Long id; + /** + * 薪资所属月 + */ + private Date salaryMonth; + /** + * 个税扣缴义务人id + */ + private Long taxAgentId; + /** + * 税款所属期 + */ + private Date taxCycle; + /** + * 租户ID + */ + private String tenantKey; + /** + * 更新时间 + */ + private Date updateTime; + +} \ No newline at end of file diff --git a/src/com/engine/salary/entity/taxdeclaration/TaxDeclarationDetail.java b/src/com/engine/salary/entity/taxdeclaration/TaxDeclarationDetail.java new file mode 100644 index 000000000..371c5c524 --- /dev/null +++ b/src/com/engine/salary/entity/taxdeclaration/TaxDeclarationDetail.java @@ -0,0 +1,59 @@ +package com.engine.salary.entity.taxdeclaration; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * 个税申报表详情 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TaxDeclarationDetail { + /** + * 创建时间 + */ + private Date createTime; + /** + * 创建人 + */ + private Long creator; + /** + * 是否已删除。0:未删除、1:已删除 + */ + private Integer deleteType; + /** + * 人员id + */ + private Long employeeId; + /** + * 字段code + */ + private String fieldCode; + /** + * 字段的值 + */ + private String fieldValue; + /** + * 主键id + */ + private Long id; + /** + * 个税申报记录的id + */ + private Long taxDeclarationId; + /** + * 租户ID + */ + private String tenantKey; + /** + * 更新时间 + */ + private Date updateTime; + +} \ No newline at end of file diff --git a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationDetailMapper.java b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationDetailMapper.java new file mode 100644 index 000000000..39242506c --- /dev/null +++ b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationDetailMapper.java @@ -0,0 +1,67 @@ +package com.engine.salary.mapper.taxdeclaration; + +import com.engine.salary.entity.taxdeclaration.TaxDeclarationDetail; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface TaxDeclarationDetailMapper { + + /** + * 查询所有记录 + * + * @return 返回集合,没有返回空List + */ + List listAll(); + + + /** + * 根据主键查询 + * + * @param id 主键 + * @return 返回记录,没有返回null + */ + TaxDeclarationDetail getById(Long id); + + /** + * 新增,插入所有字段 + * + * @param taxDeclarationDetail 新增的记录 + * @return 返回影响行数 + */ + int insert(TaxDeclarationDetail taxDeclarationDetail); + + /** + * 新增,忽略null字段 + * + * @param taxDeclarationDetail 新增的记录 + * @return 返回影响行数 + */ + int insertIgnoreNull(TaxDeclarationDetail taxDeclarationDetail); + + /** + * 修改,修改所有字段 + * + * @param taxDeclarationDetail 修改的记录 + * @return 返回影响行数 + */ + int update(TaxDeclarationDetail taxDeclarationDetail); + + /** + * 修改,忽略null字段 + * + * @param taxDeclarationDetail 修改的记录 + * @return 返回影响行数 + */ + int updateIgnoreNull(TaxDeclarationDetail taxDeclarationDetail); + + /** + * 删除记录 + * + * @param taxDeclarationDetail 待删除的记录 + * @return 返回影响行数 + */ + int delete(TaxDeclarationDetail taxDeclarationDetail); + +} \ No newline at end of file diff --git a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationDetailMapper.xml b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationDetailMapper.xml new file mode 100644 index 000000000..e777cf3d9 --- /dev/null +++ b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationDetailMapper.xml @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + t + . + create_time + , t.creator + , t.delete_type + , t.employee_id + , t.field_code + , t.field_value + , t.id + , t.tax_declaration_id + , t.tenant_key + , t.update_time + + + + + + + + + + + INSERT INTO hrsa_tax_declaration_detail + + create_time, + creator, + delete_type, + employee_id, + field_code, + field_value, + id, + tax_declaration_id, + tenant_key, + update_time, + + + #{createTime}, + #{creator}, + #{deleteType}, + #{employeeId}, + #{fieldCode}, + #{fieldValue}, + #{id}, + #{taxDeclarationId}, + #{tenantKey}, + #{updateTime}, + + + + + + INSERT INTO hrsa_tax_declaration_detail + + + + create_time, + + + creator, + + + delete_type, + + + employee_id, + + + field_code, + + + field_value, + + + id, + + + tax_declaration_id, + + + tenant_key, + + + update_time, + + + + + #{createTime}, + + + #{creator}, + + + #{deleteType}, + + + #{employeeId}, + + + #{fieldCode}, + + + #{fieldValue}, + + + #{id}, + + + #{taxDeclarationId}, + + + #{tenantKey}, + + + #{updateTime}, + + + + + + + UPDATE hrsa_tax_declaration_detail + + create_time=#{createTime}, + creator=#{creator}, + delete_type=#{deleteType}, + employee_id=#{employeeId}, + field_code=#{fieldCode}, + field_value=#{fieldValue}, + tax_declaration_id=#{taxDeclarationId}, + tenant_key=#{tenantKey}, + update_time=#{updateTime}, + + WHERE id = #{id} AND delete_type = 0 + + + + + + UPDATE hrsa_tax_declaration_detail + + + create_time=#{createTime}, + + + creator=#{creator}, + + + delete_type=#{deleteType}, + + + employee_id=#{employeeId}, + + + field_code=#{fieldCode}, + + + field_value=#{fieldValue}, + + + tax_declaration_id=#{taxDeclarationId}, + + + tenant_key=#{tenantKey}, + + + update_time=#{updateTime}, + + + WHERE id = #{id} AND delete_type = 0 + + + + + + UPDATE hrsa_tax_declaration_detail + SET delete_type=1 + WHERE id = #{id} + AND delete_type = 0 + + + + \ No newline at end of file diff --git a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.java b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.java new file mode 100644 index 000000000..ba3011bcc --- /dev/null +++ b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.java @@ -0,0 +1,67 @@ +package com.engine.salary.mapper.taxdeclaration; + +import com.engine.salary.entity.taxdeclaration.TaxDeclaration; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface TaxDeclarationMapper { + + /** + * 查询所有记录 + * + * @return 返回集合,没有返回空List + */ + List listAll(); + + + /** + * 根据主键查询 + * + * @param id 主键 + * @return 返回记录,没有返回null + */ + TaxDeclaration getById(Long id); + + /** + * 新增,插入所有字段 + * + * @param taxDeclaration 新增的记录 + * @return 返回影响行数 + */ + int insert(TaxDeclaration taxDeclaration); + + /** + * 新增,忽略null字段 + * + * @param taxDeclaration 新增的记录 + * @return 返回影响行数 + */ + int insertIgnoreNull(TaxDeclaration taxDeclaration); + + /** + * 修改,修改所有字段 + * + * @param taxDeclaration 修改的记录 + * @return 返回影响行数 + */ + int update(TaxDeclaration taxDeclaration); + + /** + * 修改,忽略null字段 + * + * @param taxDeclaration 修改的记录 + * @return 返回影响行数 + */ + int updateIgnoreNull(TaxDeclaration taxDeclaration); + + /** + * 删除记录 + * + * @param taxDeclaration 待删除的记录 + * @return 返回影响行数 + */ + int delete(TaxDeclaration taxDeclaration); + +} \ No newline at end of file diff --git a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.xml b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.xml new file mode 100644 index 000000000..03080c4cf --- /dev/null +++ b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.xml @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + t + . + create_time + , t.creator + , t.delete_type + , t.description + , t.id + , t.salary_month + , t.tax_agent_id + , t.tax_cycle + , t.tenant_key + , t.update_time + + + + + + + + + + + INSERT INTO hrsa_tax_declaration + + create_time, + creator, + delete_type, + description, + id, + salary_month, + tax_agent_id, + tax_cycle, + tenant_key, + update_time, + + + #{createTime}, + #{creator}, + #{deleteType}, + #{description}, + #{id}, + #{salaryMonth}, + #{taxAgentId}, + #{taxCycle}, + #{tenantKey}, + #{updateTime}, + + + + + + INSERT INTO hrsa_tax_declaration + + + + create_time, + + + creator, + + + delete_type, + + + description, + + + id, + + + salary_month, + + + tax_agent_id, + + + tax_cycle, + + + tenant_key, + + + update_time, + + + + + #{createTime}, + + + #{creator}, + + + #{deleteType}, + + + #{description}, + + + #{id}, + + + #{salaryMonth}, + + + #{taxAgentId}, + + + #{taxCycle}, + + + #{tenantKey}, + + + #{updateTime}, + + + + + + + UPDATE hrsa_tax_declaration + + create_time=#{createTime}, + creator=#{creator}, + delete_type=#{deleteType}, + description=#{description}, + salary_month=#{salaryMonth}, + tax_agent_id=#{taxAgentId}, + tax_cycle=#{taxCycle}, + tenant_key=#{tenantKey}, + update_time=#{updateTime}, + + WHERE id = #{id} AND delete_type = 0 + + + + + + UPDATE hrsa_tax_declaration + + + create_time=#{createTime}, + + + creator=#{creator}, + + + delete_type=#{deleteType}, + + + description=#{description}, + + + salary_month=#{salaryMonth}, + + + tax_agent_id=#{taxAgentId}, + + + tax_cycle=#{taxCycle}, + + + tenant_key=#{tenantKey}, + + + update_time=#{updateTime}, + + + WHERE id = #{id} AND delete_type = 0 + + + + + + UPDATE hrsa_tax_declaration + SET delete_type=1 + WHERE id = #{id} + AND delete_type = 0 + + + + \ No newline at end of file diff --git a/src/com/engine/salary/service/TaxDeclarationService.java b/src/com/engine/salary/service/TaxDeclarationService.java index c3951ffde..32dbe8831 100644 --- a/src/com/engine/salary/service/TaxDeclarationService.java +++ b/src/com/engine/salary/service/TaxDeclarationService.java @@ -9,10 +9,10 @@ public interface TaxDeclarationService { */ Map listPage(Map params); - Map delete(Map params); - Map save(Map params); Map update(Map params); + Map delete(Map params); + } diff --git a/src/com/engine/salary/service/impl/TaxDeclarationServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclarationServiceImpl.java index 13a4d24a2..cec06fb8f 100644 --- a/src/com/engine/salary/service/impl/TaxDeclarationServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxDeclarationServiceImpl.java @@ -1,6 +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.service.TaxDeclarationService; import java.util.Map; @@ -9,22 +13,20 @@ public class TaxDeclarationServiceImpl extends Service implements TaxDeclaration @Override public Map listPage(Map params) { - - return null; - } - - @Override - public Map delete(Map params) { - return null; + return commandExecutor.execute(new TaxDeclarationListCmd(params, user)); } @Override public Map save(Map params) { - return null; + return commandExecutor.execute(new TaxDeclarationSaveCmd(params, user)); } @Override public Map update(Map params) { - return null; + return commandExecutor.execute(new TaxDeclarationUpdateCmd(params, user)); + } + @Override + public Map delete(Map params) { + return commandExecutor.execute(new TaxDeclarationDeleteCmd(params, user)); } } 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 2/2] =?UTF-8?q?=E7=A8=8E=E7=8E=87=E8=A1=A8=E8=AF=A6?= =?UTF-8?q?=E7=BB=86=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)); }