diff --git a/src/com/engine/salary/entity/datacollection/dto/DerateDeductionListDTO.java b/src/com/engine/salary/entity/datacollection/dto/DerateDeductionListDTO.java index 4b36ec418..c0751492b 100644 --- a/src/com/engine/salary/entity/datacollection/dto/DerateDeductionListDTO.java +++ b/src/com/engine/salary/entity/datacollection/dto/DerateDeductionListDTO.java @@ -5,6 +5,7 @@ import com.engine.salary.annotation.I18n; import com.engine.salary.annotation.TableTitle; import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum; import com.engine.salary.util.excel.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -46,6 +47,7 @@ public class DerateDeductionListDTO { private Integer employeeType; @TableTitle(title = "税款所属期", dataIndex = "taxYearMonth", key = "taxYearMonth") + @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8") private Date taxYearMonth; //姓名 diff --git a/src/com/engine/salary/entity/datacollection/dto/EndowmentInsuranceListDTO.java b/src/com/engine/salary/entity/datacollection/dto/EndowmentInsuranceListDTO.java index 699054258..0af824f19 100644 --- a/src/com/engine/salary/entity/datacollection/dto/EndowmentInsuranceListDTO.java +++ b/src/com/engine/salary/entity/datacollection/dto/EndowmentInsuranceListDTO.java @@ -4,6 +4,7 @@ import com.engine.salary.annotation.I18n; import com.engine.salary.annotation.TableTitle; import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum; import com.engine.salary.util.excel.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -45,6 +46,7 @@ public class EndowmentInsuranceListDTO { private Integer employeeType; @TableTitle(title = "税款所属期", dataIndex = "taxYearMonth", key = "taxYearMonth") + @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8") private Date taxYearMonth; //姓名 diff --git a/src/com/engine/salary/entity/datacollection/dto/FreeIncomeListDTO.java b/src/com/engine/salary/entity/datacollection/dto/FreeIncomeListDTO.java index a8e132c47..698dcbde0 100644 --- a/src/com/engine/salary/entity/datacollection/dto/FreeIncomeListDTO.java +++ b/src/com/engine/salary/entity/datacollection/dto/FreeIncomeListDTO.java @@ -5,6 +5,7 @@ import com.engine.salary.annotation.I18n; import com.engine.salary.annotation.TableTitle; import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum; import com.engine.salary.util.excel.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -46,6 +47,7 @@ public class FreeIncomeListDTO { private Integer employeeType; @TableTitle(title = "税款所属期", dataIndex = "taxYearMonth", key = "taxYearMonth") + @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8") private Date taxYearMonth; //姓名 diff --git a/src/com/engine/salary/entity/datacollection/dto/GrantDonationListDTO.java b/src/com/engine/salary/entity/datacollection/dto/GrantDonationListDTO.java index a6fd88268..6255c4043 100644 --- a/src/com/engine/salary/entity/datacollection/dto/GrantDonationListDTO.java +++ b/src/com/engine/salary/entity/datacollection/dto/GrantDonationListDTO.java @@ -5,6 +5,7 @@ import com.engine.salary.annotation.SalaryTableColumn; import com.engine.salary.annotation.TableTitle; import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum; import com.engine.salary.util.excel.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -41,6 +42,7 @@ public class GrantDonationListDTO { private Integer employeeType; @TableTitle(title = "税款所属期", dataIndex = "taxYearMonth", key = "taxYearMonth") + @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8") private Date taxYearMonth; //姓名 diff --git a/src/com/engine/salary/entity/datacollection/dto/HealthInsuranceListDTO.java b/src/com/engine/salary/entity/datacollection/dto/HealthInsuranceListDTO.java index 5790a528e..9cc8d0b4f 100644 --- a/src/com/engine/salary/entity/datacollection/dto/HealthInsuranceListDTO.java +++ b/src/com/engine/salary/entity/datacollection/dto/HealthInsuranceListDTO.java @@ -5,6 +5,7 @@ import com.engine.salary.annotation.SalaryTableColumn; import com.engine.salary.annotation.TableTitle; import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum; import com.engine.salary.util.excel.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -42,6 +43,7 @@ public class HealthInsuranceListDTO { private Integer employeeType; @TableTitle(title = "税款所属期", dataIndex = "taxYearMonth", key = "taxYearMonth") + @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8") private Date taxYearMonth; //姓名 diff --git a/src/com/engine/salary/entity/datacollection/dto/OtherDerateDeductionListDTO.java b/src/com/engine/salary/entity/datacollection/dto/OtherDerateDeductionListDTO.java index cfbdd1874..d4d292a14 100644 --- a/src/com/engine/salary/entity/datacollection/dto/OtherDerateDeductionListDTO.java +++ b/src/com/engine/salary/entity/datacollection/dto/OtherDerateDeductionListDTO.java @@ -5,6 +5,7 @@ import com.engine.salary.annotation.SalaryTableColumn; import com.engine.salary.annotation.TableTitle; import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum; import com.engine.salary.util.excel.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -42,6 +43,7 @@ public class OtherDerateDeductionListDTO { private Integer employeeType; @TableTitle(title = "税款所属期", dataIndex = "taxYearMonth", key = "taxYearMonth") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date taxYearMonth; //姓名 diff --git a/src/com/engine/salary/entity/datacollection/dto/PersonalPensionListDTO.java b/src/com/engine/salary/entity/datacollection/dto/PersonalPensionListDTO.java index 01becf206..9bfb90790 100644 --- a/src/com/engine/salary/entity/datacollection/dto/PersonalPensionListDTO.java +++ b/src/com/engine/salary/entity/datacollection/dto/PersonalPensionListDTO.java @@ -5,6 +5,7 @@ import com.engine.salary.annotation.TableTitle; import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum; import com.engine.salary.enums.datacollection.EnumDeductionDataSource; import com.engine.salary.util.excel.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -47,6 +48,7 @@ public class PersonalPensionListDTO { private Integer employeeType; @TableTitle(title = "税款所属期", dataIndex = "taxYearMonth", key = "taxYearMonth") + @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8") private Date taxYearMonth; //姓名 diff --git a/src/com/engine/salary/entity/datacollection/param/OtherDeductionDetailDeleteParam.java b/src/com/engine/salary/entity/datacollection/param/OtherDeductionDetailDeleteParam.java new file mode 100644 index 000000000..447c04b87 --- /dev/null +++ b/src/com/engine/salary/entity/datacollection/param/OtherDeductionDetailDeleteParam.java @@ -0,0 +1,26 @@ +package com.engine.salary.entity.datacollection.param; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 删除参数 + *

Copyright: Copyright (c) 2024

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class OtherDeductionDetailDeleteParam { + + // 主键id + private List ids; +} diff --git a/src/com/engine/salary/service/OtherDeductionService.java b/src/com/engine/salary/service/OtherDeductionService.java index 21307f57b..3e4c0c7d7 100644 --- a/src/com/engine/salary/service/OtherDeductionService.java +++ b/src/com/engine/salary/service/OtherDeductionService.java @@ -125,17 +125,13 @@ public interface OtherDeductionService { String extendToLastMonth(OtherDeductionExtendLastParam param); PageInfo freeIncomeList(OtherDeductionDetailQueryParam param); - PageInfo derateDeductionListDTOList(OtherDeductionDetailQueryParam param); - PageInfo endowmentInsuranceListDTOList(OtherDeductionDetailQueryParam param); - PageInfo grantDonationListDTOList(OtherDeductionDetailQueryParam param); - PageInfo healthInsuranceListDTOList(OtherDeductionDetailQueryParam param); - PageInfo otherDerateDeductionListDTOList(OtherDeductionDetailQueryParam param); - PageInfo personalPensionListDTOList(OtherDeductionDetailQueryParam param); + PageInfo derateDeductionList(OtherDeductionDetailQueryParam param); + PageInfo endowmentInsuranceList(OtherDeductionDetailQueryParam param); + PageInfo grantDonationList(OtherDeductionDetailQueryParam param); + PageInfo healthInsuranceList(OtherDeductionDetailQueryParam param); + PageInfo otherDerateDeductionList(OtherDeductionDetailQueryParam param); + PageInfo personalPensionList(OtherDeductionDetailQueryParam param); - /** - * 保存免税收入 - * @param param - */ void saveFreeIncome(FreeIncomeSaveParam param); void saveEndowmentInsurance(EndowmentInsuranceSaveParam param); void saveGrantDonation(GrantDonationSaveParam param); @@ -144,5 +140,12 @@ public interface OtherDeductionService { void saveDerateDeduction(DerateDeductionSaveParam param); void savePersonalPension(PersonalPensionSaveParam param); + void deleteFreeIncome(OtherDeductionDetailDeleteParam param); + void deleteEndowmentInsurance(OtherDeductionDetailDeleteParam param); + void deleteGrantDonation(OtherDeductionDetailDeleteParam param); + void deleteHealthInsurance(OtherDeductionDetailDeleteParam param); + void deleteOtherDerateDeduction(OtherDeductionDetailDeleteParam param); + void deleteDerateDeduction(OtherDeductionDetailDeleteParam param); + void deletePersonalPension(OtherDeductionDetailDeleteParam param); } diff --git a/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java b/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java index f4555c9a3..6a2ec896b 100644 --- a/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java +++ b/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java @@ -36,6 +36,7 @@ import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl; import com.engine.salary.util.SalaryDateUtil; import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryI18nUtil; +import com.engine.salary.util.db.IdGenerator; import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.excel.ExcelComment; import com.engine.salary.util.excel.ExcelParseHelper; @@ -2181,77 +2182,168 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction @Override public PageInfo freeIncomeList(OtherDeductionDetailQueryParam param) { - List freeIncomePOS = getFreeIncomeMapper().listSome(FreeIncomePO.builder().mainId(param.getId()).build()); - List listDTOS = freeIncomePOS.stream().map(po -> { - FreeIncomeListDTO freeIncomeListDTO = new FreeIncomeListDTO(); - BeanUtils.copyProperties(po, freeIncomeListDTO); - return freeIncomeListDTO; + List pos = getFreeIncomeMapper().listSome(FreeIncomePO.builder().mainId(param.getId()).build()); + List empIds = SalaryEntityUtil.properties(pos, FreeIncomePO::getEmployeeId, Collectors.toList()); + List employeeList = getSalaryEmployeeService(user).listByIds(empIds); + Map employeeMap = SalaryEntityUtil.convert2Map(employeeList, DataCollectionEmployee::getEmployeeId); + List taxAgentPOS = getTaxAgentService(user).listAll(); + Map taxAgentMap = SalaryEntityUtil.convert2Map(taxAgentPOS, TaxAgentPO::getId); + List listDTOS = pos.stream().map(po -> { + FreeIncomeListDTO dto = new FreeIncomeListDTO(); + BeanUtils.copyProperties(po, dto); + DataCollectionEmployee employee = employeeMap.getOrDefault(po.getEmployeeId(), new DataCollectionEmployee()); + TaxAgentPO taxAgent = taxAgentMap.getOrDefault(po.getTaxAgentId(), new TaxAgentPO()); + dto.setUsername(employee.getUsername()); + dto.setTaxAgentName(taxAgent.getName()); + dto.setDepartmentName(employee.getDepartmentName()); + dto.setMobile(employee.getMobile()); + dto.setJobNum(employee.getWorkcode()); + dto.setIdNo(employee.getIdNo()); + return dto; }).collect(Collectors.toList()); return SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), listDTOS, FreeIncomeListDTO.class); } @Override - public PageInfo derateDeductionListDTOList(OtherDeductionDetailQueryParam param) { + public PageInfo derateDeductionList(OtherDeductionDetailQueryParam param) { List pos = getDerateDeductionMapper().listSome(DerateDeductionPO.builder().mainId(param.getId()).build()); + List empIds = SalaryEntityUtil.properties(pos, DerateDeductionPO::getEmployeeId, Collectors.toList()); + List employeeList = getSalaryEmployeeService(user).listByIds(empIds); + Map employeeMap = SalaryEntityUtil.convert2Map(employeeList, DataCollectionEmployee::getEmployeeId); + List taxAgentPOS = getTaxAgentService(user).listAll(); + Map taxAgentMap = SalaryEntityUtil.convert2Map(taxAgentPOS, TaxAgentPO::getId); List listDTOS = pos.stream().map(po -> { - DerateDeductionListDTO dtos = new DerateDeductionListDTO(); - BeanUtils.copyProperties(po, dtos); - return dtos; + DerateDeductionListDTO dto = new DerateDeductionListDTO(); + BeanUtils.copyProperties(po, dto); + DataCollectionEmployee employee = employeeMap.getOrDefault(po.getEmployeeId(), new DataCollectionEmployee()); + TaxAgentPO taxAgent = taxAgentMap.getOrDefault(po.getTaxAgentId(), new TaxAgentPO()); + dto.setUsername(employee.getUsername()); + dto.setTaxAgentName(taxAgent.getName()); + dto.setDepartmentName(employee.getDepartmentName()); + dto.setMobile(employee.getMobile()); + dto.setJobNum(employee.getWorkcode()); + dto.setIdNo(employee.getIdNo()); + return dto; }).collect(Collectors.toList()); return SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), listDTOS, DerateDeductionListDTO.class); } @Override - public PageInfo endowmentInsuranceListDTOList(OtherDeductionDetailQueryParam param) { + public PageInfo endowmentInsuranceList(OtherDeductionDetailQueryParam param) { List pos = getEndowmentInsuranceMapper().listSome(EndowmentInsurancePO.builder().mainId(param.getId()).build()); + List empIds = SalaryEntityUtil.properties(pos, EndowmentInsurancePO::getEmployeeId, Collectors.toList()); + List employeeList = getSalaryEmployeeService(user).listByIds(empIds); + Map employeeMap = SalaryEntityUtil.convert2Map(employeeList, DataCollectionEmployee::getEmployeeId); + List taxAgentPOS = getTaxAgentService(user).listAll(); + Map taxAgentMap = SalaryEntityUtil.convert2Map(taxAgentPOS, TaxAgentPO::getId); List listDTOS = pos.stream().map(po -> { - EndowmentInsuranceListDTO dtos = new EndowmentInsuranceListDTO(); - BeanUtils.copyProperties(po, dtos); - return dtos; + EndowmentInsuranceListDTO dto = new EndowmentInsuranceListDTO(); + BeanUtils.copyProperties(po, dto); + DataCollectionEmployee employee = employeeMap.getOrDefault(po.getEmployeeId(), new DataCollectionEmployee()); + TaxAgentPO taxAgent = taxAgentMap.getOrDefault(po.getTaxAgentId(), new TaxAgentPO()); + dto.setUsername(employee.getUsername()); + dto.setTaxAgentName(taxAgent.getName()); + dto.setDepartmentName(employee.getDepartmentName()); + dto.setMobile(employee.getMobile()); + dto.setJobNum(employee.getWorkcode()); + dto.setIdNo(employee.getIdNo()); + return dto; }).collect(Collectors.toList()); return SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), listDTOS, EndowmentInsuranceListDTO.class); } @Override - public PageInfo grantDonationListDTOList(OtherDeductionDetailQueryParam param) { + public PageInfo grantDonationList(OtherDeductionDetailQueryParam param) { List pos = getGrantDonationMapper().listSome(GrantDonationPO.builder().mainId(param.getId()).build()); + List empIds = SalaryEntityUtil.properties(pos, GrantDonationPO::getEmployeeId, Collectors.toList()); + List employeeList = getSalaryEmployeeService(user).listByIds(empIds); + Map employeeMap = SalaryEntityUtil.convert2Map(employeeList, DataCollectionEmployee::getEmployeeId); + List taxAgentPOS = getTaxAgentService(user).listAll(); + Map taxAgentMap = SalaryEntityUtil.convert2Map(taxAgentPOS, TaxAgentPO::getId); List listDTOS = pos.stream().map(po -> { - GrantDonationListDTO dtos = new GrantDonationListDTO(); - BeanUtils.copyProperties(po, dtos); - return dtos; + GrantDonationListDTO dto = new GrantDonationListDTO(); + BeanUtils.copyProperties(po, dto); + DataCollectionEmployee employee = employeeMap.getOrDefault(po.getEmployeeId(), new DataCollectionEmployee()); + TaxAgentPO taxAgent = taxAgentMap.getOrDefault(po.getTaxAgentId(), new TaxAgentPO()); + dto.setUsername(employee.getUsername()); + dto.setTaxAgentName(taxAgent.getName()); + dto.setDepartmentName(employee.getDepartmentName()); + dto.setMobile(employee.getMobile()); + dto.setJobNum(employee.getWorkcode()); + dto.setIdNo(employee.getIdNo()); + return dto; }).collect(Collectors.toList()); return SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), listDTOS, GrantDonationListDTO.class); } @Override - public PageInfo healthInsuranceListDTOList(OtherDeductionDetailQueryParam param) { + public PageInfo healthInsuranceList(OtherDeductionDetailQueryParam param) { List pos = getHealthInsuranceMapper().listSome(HealthInsurancePO.builder().mainId(param.getId()).build()); + List empIds = SalaryEntityUtil.properties(pos, HealthInsurancePO::getEmployeeId, Collectors.toList()); + List employeeList = getSalaryEmployeeService(user).listByIds(empIds); + Map employeeMap = SalaryEntityUtil.convert2Map(employeeList, DataCollectionEmployee::getEmployeeId); + List taxAgentPOS = getTaxAgentService(user).listAll(); + Map taxAgentMap = SalaryEntityUtil.convert2Map(taxAgentPOS, TaxAgentPO::getId); List listDTOS = pos.stream().map(po -> { - HealthInsuranceListDTO dtos = new HealthInsuranceListDTO(); - BeanUtils.copyProperties(po, dtos); - return dtos; + HealthInsuranceListDTO dto = new HealthInsuranceListDTO(); + BeanUtils.copyProperties(po, dto); + DataCollectionEmployee employee = employeeMap.getOrDefault(po.getEmployeeId(), new DataCollectionEmployee()); + TaxAgentPO taxAgent = taxAgentMap.getOrDefault(po.getTaxAgentId(), new TaxAgentPO()); + dto.setUsername(employee.getUsername()); + dto.setTaxAgentName(taxAgent.getName()); + dto.setDepartmentName(employee.getDepartmentName()); + dto.setMobile(employee.getMobile()); + dto.setJobNum(employee.getWorkcode()); + dto.setIdNo(employee.getIdNo()); + return dto; }).collect(Collectors.toList()); return SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), listDTOS, HealthInsuranceListDTO.class); } @Override - public PageInfo otherDerateDeductionListDTOList(OtherDeductionDetailQueryParam param) { + public PageInfo otherDerateDeductionList(OtherDeductionDetailQueryParam param) { List pos = getOtherDerateDeductionMapper().listSome(OtherDerateDeductionPO.builder().mainId(param.getId()).build()); + List empIds = SalaryEntityUtil.properties(pos, OtherDerateDeductionPO::getEmployeeId, Collectors.toList()); + List employeeList = getSalaryEmployeeService(user).listByIds(empIds); + Map employeeMap = SalaryEntityUtil.convert2Map(employeeList, DataCollectionEmployee::getEmployeeId); + List taxAgentPOS = getTaxAgentService(user).listAll(); + Map taxAgentMap = SalaryEntityUtil.convert2Map(taxAgentPOS, TaxAgentPO::getId); List listDTOS = pos.stream().map(po -> { - OtherDerateDeductionListDTO dtos = new OtherDerateDeductionListDTO(); - BeanUtils.copyProperties(po, dtos); - return dtos; + OtherDerateDeductionListDTO dto = new OtherDerateDeductionListDTO(); + BeanUtils.copyProperties(po, dto); + DataCollectionEmployee employee = employeeMap.getOrDefault(po.getEmployeeId(), new DataCollectionEmployee()); + TaxAgentPO taxAgent = taxAgentMap.getOrDefault(po.getTaxAgentId(), new TaxAgentPO()); + dto.setUsername(employee.getUsername()); + dto.setTaxAgentName(taxAgent.getName()); + dto.setDepartmentName(employee.getDepartmentName()); + dto.setMobile(employee.getMobile()); + dto.setJobNum(employee.getWorkcode()); + dto.setIdNo(employee.getIdNo()); + return dto; }).collect(Collectors.toList()); return SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), listDTOS, OtherDerateDeductionListDTO.class); } @Override - public PageInfo personalPensionListDTOList(OtherDeductionDetailQueryParam param) { - List pos = getFreeIncomeMapper().listSome(FreeIncomePO.builder().mainId(param.getId()).build()); + public PageInfo personalPensionList(OtherDeductionDetailQueryParam param) { + List pos = getPersonalPensionMapper().listSome(PersonalPensionPO.builder().mainId(param.getId()).build()); + List empIds = SalaryEntityUtil.properties(pos, PersonalPensionPO::getEmployeeId, Collectors.toList()); + List employeeList = getSalaryEmployeeService(user).listByIds(empIds); + Map employeeMap = SalaryEntityUtil.convert2Map(employeeList, DataCollectionEmployee::getEmployeeId); + List taxAgentPOS = getTaxAgentService(user).listAll(); + Map taxAgentMap = SalaryEntityUtil.convert2Map(taxAgentPOS, TaxAgentPO::getId); List listDTOS = pos.stream().map(po -> { - PersonalPensionListDTO dtos = new PersonalPensionListDTO(); - BeanUtils.copyProperties(po, dtos); - return dtos; + PersonalPensionListDTO dto = new PersonalPensionListDTO(); + BeanUtils.copyProperties(po, dto); + DataCollectionEmployee employee = employeeMap.getOrDefault(po.getEmployeeId(), new DataCollectionEmployee()); + TaxAgentPO taxAgent = taxAgentMap.getOrDefault(po.getTaxAgentId(), new TaxAgentPO()); + dto.setUsername(employee.getUsername()); + dto.setTaxAgentName(taxAgent.getName()); + dto.setDepartmentName(employee.getDepartmentName()); + dto.setMobile(employee.getMobile()); + dto.setJobNum(employee.getWorkcode()); + dto.setIdNo(employee.getIdNo()); + return dto; }).collect(Collectors.toList()); return SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), listDTOS, PersonalPensionListDTO.class); } @@ -2270,7 +2362,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction Long id = param.getId(); if (id == null) { FreeIncomePO po = FreeIncomePO.builder() - .id(id) + .id(IdGenerator.generate()) .mainId(mainId) .taxYearMonth(deductionPO.getDeclareMonth()) .employeeId(deductionPO.getEmployeeId()) @@ -2289,7 +2381,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction getFreeIncomeMapper().insertIgnoreNull(po); } else { FreeIncomePO po = getFreeIncomeMapper().getById(id); - if (po == null){ + if (po == null) { throw new SalaryRunTimeException("记录不存在!"); } @@ -2315,7 +2407,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction Long id = param.getId(); if (id == null) { EndowmentInsurancePO po = EndowmentInsurancePO.builder() - .id(id) + .id(IdGenerator.generate()) .mainId(mainId) .taxYearMonth(deductionPO.getDeclareMonth()) .employeeId(deductionPO.getEmployeeId()) @@ -2336,7 +2428,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction getEndowmentInsuranceMapper().insertIgnoreNull(po); } else { EndowmentInsurancePO po = getEndowmentInsuranceMapper().getById(id); - if (po == null){ + if (po == null) { throw new SalaryRunTimeException("记录不存在!"); } @@ -2364,7 +2456,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction Long id = param.getId(); if (id == null) { GrantDonationPO po = GrantDonationPO.builder() - .id(id) + .id(IdGenerator.generate()) .mainId(mainId) .taxYearMonth(deductionPO.getDeclareMonth()) .employeeId(deductionPO.getEmployeeId()) @@ -2387,7 +2479,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction getGrantDonationMapper().insertIgnoreNull(po); } else { GrantDonationPO po = getGrantDonationMapper().getById(id); - if (po == null){ + if (po == null) { throw new SalaryRunTimeException("记录不存在!"); } @@ -2417,7 +2509,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction Long id = param.getId(); if (id == null) { HealthInsurancePO po = HealthInsurancePO.builder() - .id(id) + .id(IdGenerator.generate()) .mainId(mainId) .taxYearMonth(deductionPO.getDeclareMonth()) .employeeId(deductionPO.getEmployeeId()) @@ -2438,7 +2530,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction getHealthInsuranceMapper().insertIgnoreNull(po); } else { HealthInsurancePO po = getHealthInsuranceMapper().getById(id); - if (po == null){ + if (po == null) { throw new SalaryRunTimeException("记录不存在!"); } @@ -2466,7 +2558,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction Long id = param.getId(); if (id == null) { OtherDerateDeductionPO po = OtherDerateDeductionPO.builder() - .id(id) + .id(IdGenerator.generate()) .mainId(mainId) .taxYearMonth(deductionPO.getDeclareMonth()) .employeeId(deductionPO.getEmployeeId()) @@ -2484,7 +2576,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction getOtherDerateDeductionMapper().insertIgnoreNull(po); } else { OtherDerateDeductionPO po = getOtherDerateDeductionMapper().getById(id); - if (po == null){ + if (po == null) { throw new SalaryRunTimeException("记录不存在!"); } @@ -2509,7 +2601,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction Long id = param.getId(); if (id == null) { DerateDeductionPO po = DerateDeductionPO.builder() - .id(id) + .id(IdGenerator.generate()) .mainId(mainId) .taxYearMonth(deductionPO.getDeclareMonth()) .employeeId(deductionPO.getEmployeeId()) @@ -2528,7 +2620,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction getDerateDeductionMapper().insertIgnoreNull(po); } else { DerateDeductionPO po = getDerateDeductionMapper().getById(id); - if (po == null){ + if (po == null) { throw new SalaryRunTimeException("记录不存在!"); } @@ -2554,7 +2646,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction Long id = param.getId(); if (id == null) { PersonalPensionPO po = PersonalPensionPO.builder() - .id(id) + .id(IdGenerator.generate()) .mainId(mainId) .taxYearMonth(deductionPO.getDeclareMonth()) .employeeId(deductionPO.getEmployeeId()) @@ -2573,7 +2665,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction getPersonalPensionMapper().insertIgnoreNull(po); } else { PersonalPensionPO po = getPersonalPensionMapper().getById(id); - if (po == null){ + if (po == null) { throw new SalaryRunTimeException("记录不存在!"); } @@ -2586,4 +2678,39 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction } } + @Override + public void deleteFreeIncome(OtherDeductionDetailDeleteParam param) { + getFreeIncomeMapper().deleteByIds(param.getIds()); + } + + @Override + public void deleteEndowmentInsurance(OtherDeductionDetailDeleteParam param) { + getEndowmentInsuranceMapper().deleteByIds(param.getIds()); + } + + @Override + public void deleteGrantDonation(OtherDeductionDetailDeleteParam param) { + getGrantDonationMapper().deleteByIds(param.getIds()); + } + + @Override + public void deleteHealthInsurance(OtherDeductionDetailDeleteParam param) { + getHealthInsuranceMapper().deleteByIds(param.getIds()); + } + + @Override + public void deleteOtherDerateDeduction(OtherDeductionDetailDeleteParam param) { + getOtherDerateDeductionMapper().deleteByIds(param.getIds()); + } + + @Override + public void deleteDerateDeduction(OtherDeductionDetailDeleteParam param) { + getDerateDeductionMapper().deleteByIds(param.getIds()); + } + + @Override + public void deletePersonalPension(OtherDeductionDetailDeleteParam param) { + getPersonalPensionMapper().deleteByIds(param.getIds()); + } + } diff --git a/src/com/engine/salary/web/OtherDeductionController.java b/src/com/engine/salary/web/OtherDeductionController.java index f041392ee..6a6bed689 100644 --- a/src/com/engine/salary/web/OtherDeductionController.java +++ b/src/com/engine/salary/web/OtherDeductionController.java @@ -1,9 +1,7 @@ package com.engine.salary.web; import com.engine.common.util.ServiceUtil; -import com.engine.salary.entity.datacollection.dto.FreeIncomeListDTO; -import com.engine.salary.entity.datacollection.dto.OtherDeductionListDTO; -import com.engine.salary.entity.datacollection.dto.OtherDeductionRecordDTO; +import com.engine.salary.entity.datacollection.dto.*; import com.engine.salary.entity.datacollection.param.*; import com.engine.salary.util.ResponseResult; import com.engine.salary.util.SalaryDateUtil; @@ -361,11 +359,64 @@ public class OtherDeductionController { @POST @Path("/freeIncomeList") @Produces(MediaType.APPLICATION_JSON) - public String detailList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody OtherDeductionDetailQueryParam param) { + public String freeIncomeList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody OtherDeductionDetailQueryParam param) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>(user).run(getOtherDeductionWrapper(user)::freeIncomeList, param); } + + @POST + @Path("/healthInsuranceList") + @Produces(MediaType.APPLICATION_JSON) + public String healthInsuranceList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody OtherDeductionDetailQueryParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getOtherDeductionWrapper(user)::healthInsuranceList, param); + } + + + @POST + @Path("/endowmentInsuranceList") + @Produces(MediaType.APPLICATION_JSON) + public String endowmentInsuranceList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody OtherDeductionDetailQueryParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getOtherDeductionWrapper(user)::endowmentInsuranceList, param); + } + + @POST + @Path("/grantDonationList") + @Produces(MediaType.APPLICATION_JSON) + public String grantDonationList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody OtherDeductionDetailQueryParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getOtherDeductionWrapper(user)::grantDonationList, param); + } + + + @POST + @Path("/derateDeductionList") + @Produces(MediaType.APPLICATION_JSON) + public String derateDeductionList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody OtherDeductionDetailQueryParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getOtherDeductionWrapper(user)::derateDeductionList, param); + } + + + @POST + @Path("/otherDerateDeductionList") + @Produces(MediaType.APPLICATION_JSON) + public String otherDerateDeductionList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody OtherDeductionDetailQueryParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getOtherDeductionWrapper(user)::otherDerateDeductionList, param); + } + + @POST + @Path("/personalPensionList") + @Produces(MediaType.APPLICATION_JSON) + public String personalPensionList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody OtherDeductionDetailQueryParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getOtherDeductionWrapper(user)::personalPensionList, param); + } + + @POST @Path("/saveFreeIncome") @Produces(MediaType.APPLICATION_JSON) @@ -374,5 +425,116 @@ public class OtherDeductionController { return new ResponseResult(user).run(getOtherDeductionWrapper(user)::saveFreeIncome, param); } + @POST + @Path("/saveHealthInsurance") + @Produces(MediaType.APPLICATION_JSON) + public String saveHealthInsurance(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody HealthInsuranceSaveParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getOtherDeductionWrapper(user)::saveHealthInsurance, param); + } + + + @POST + @Path("/saveEndowmentInsurance") + @Produces(MediaType.APPLICATION_JSON) + public String saveEndowmentInsurance(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody EndowmentInsuranceSaveParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getOtherDeductionWrapper(user)::saveEndowmentInsurance, param); + } + + @POST + @Path("/saveGrantDonation") + @Produces(MediaType.APPLICATION_JSON) + public String saveGrantDonation(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody GrantDonationSaveParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getOtherDeductionWrapper(user)::saveGrantDonation, param); + } + + @POST + @Path("/saveDerateDeduction") + @Produces(MediaType.APPLICATION_JSON) + public String saveDerateDeduction(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody DerateDeductionSaveParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getOtherDeductionWrapper(user)::saveDerateDeduction, param); + } + + + @POST + @Path("/saveOtherDerateDeduction") + @Produces(MediaType.APPLICATION_JSON) + public String saveOtherDerateDeduction(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody OtherDerateDeductionSaveParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getOtherDeductionWrapper(user)::saveOtherDerateDeduction, param); + } + + @POST + @Path("/savePersonalPension") + @Produces(MediaType.APPLICATION_JSON) + public String savePersonalPension(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PersonalPensionSaveParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getOtherDeductionWrapper(user)::savePersonalPension, param); + } + + + @POST + @Path("/deleteFreeIncome") + @Produces(MediaType.APPLICATION_JSON) + public String deleteFreeIncome(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody OtherDeductionDetailDeleteParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getOtherDeductionWrapper(user)::deleteFreeIncome, param); + } + + @POST + @Path("/deleteHealthInsurance") + @Produces(MediaType.APPLICATION_JSON) + public String deleteHealthInsurance(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody OtherDeductionDetailDeleteParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getOtherDeductionWrapper(user)::deleteHealthInsurance, param); + } + + + @POST + @Path("/deleteEndowmentInsurance") + @Produces(MediaType.APPLICATION_JSON) + public String deleteEndowmentInsurance(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody OtherDeductionDetailDeleteParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getOtherDeductionWrapper(user)::deleteEndowmentInsurance, param); + } + + @POST + @Path("/deleteGrantDonation") + @Produces(MediaType.APPLICATION_JSON) + public String deleteGrantDonation(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody OtherDeductionDetailDeleteParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getOtherDeductionWrapper(user)::deleteGrantDonation, param); + } + + @POST + @Path("/deleteDerateDeduction") + @Produces(MediaType.APPLICATION_JSON) + public String deleteDerateDeduction(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody OtherDeductionDetailDeleteParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getOtherDeductionWrapper(user)::deleteDerateDeduction, param); + } + + + @POST + @Path("/deleteOtherDerateDeduction") + @Produces(MediaType.APPLICATION_JSON) + public String deleteOtherDerateDeduction(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody OtherDeductionDetailDeleteParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getOtherDeductionWrapper(user)::deleteOtherDerateDeduction, param); + } + + + + @POST + @Path("/deletePersonalPension") + @Produces(MediaType.APPLICATION_JSON) + public String deletePersonalPension(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody OtherDeductionDetailDeleteParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getOtherDeductionWrapper(user)::deletePersonalPension, param); + } + } diff --git a/src/com/engine/salary/wrapper/OtherDeductionWrapper.java b/src/com/engine/salary/wrapper/OtherDeductionWrapper.java index d8e87a630..4782d3af0 100644 --- a/src/com/engine/salary/wrapper/OtherDeductionWrapper.java +++ b/src/com/engine/salary/wrapper/OtherDeductionWrapper.java @@ -6,9 +6,7 @@ import com.api.browser.util.ConditionFactory; import com.api.browser.util.ConditionType; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; -import com.engine.salary.entity.datacollection.dto.FreeIncomeListDTO; -import com.engine.salary.entity.datacollection.dto.OtherDeductionListDTO; -import com.engine.salary.entity.datacollection.dto.OtherDeductionRecordDTO; +import com.engine.salary.entity.datacollection.dto.*; import com.engine.salary.entity.datacollection.param.*; import com.engine.salary.entity.datacollection.po.OtherDeductionPO; import com.engine.salary.exception.SalaryRunTimeException; @@ -207,9 +205,9 @@ public class OtherDeductionWrapper extends Service { //是否开启了智能算薪 boolean enableUse = getTaxDeclarationApiConfigService(user).enableUse(); - if(enableUse){ + if (enableUse) { return getOtherDeductionService(user).downloadDetailTemplate(queryParam); - }else { + } else { return getOtherDeductionService(user).downloadTemplate(queryParam); } } @@ -228,9 +226,9 @@ public class OtherDeductionWrapper extends Service { //是否开启了智能算薪 boolean enableUse = getTaxDeclarationApiConfigService(user).enableUse(); - if(enableUse){ + if (enableUse) { return getOtherDeductionService(user).importDetailData(importParam); - }else { + } else { return getOtherDeductionService(user).importData(importParam); } } @@ -291,10 +289,87 @@ public class OtherDeductionWrapper extends Service { } public PageInfo freeIncomeList(OtherDeductionDetailQueryParam param) { - return getOtherDeductionService(user).freeIncomeList(param); + return getOtherDeductionService(user).freeIncomeList(param); + } + + public PageInfo derateDeductionList(OtherDeductionDetailQueryParam param) { + return getOtherDeductionService(user).derateDeductionList(param); + } + + public PageInfo endowmentInsuranceList(OtherDeductionDetailQueryParam param) { + return getOtherDeductionService(user).endowmentInsuranceList(param); + } + + public PageInfo grantDonationList(OtherDeductionDetailQueryParam param) { + return getOtherDeductionService(user).grantDonationList(param); + } + + public PageInfo healthInsuranceList(OtherDeductionDetailQueryParam param) { + return getOtherDeductionService(user).healthInsuranceList(param); + } + + public PageInfo otherDerateDeductionList(OtherDeductionDetailQueryParam param) { + return getOtherDeductionService(user).otherDerateDeductionList(param); + } + + public PageInfo personalPensionList(OtherDeductionDetailQueryParam param) { + return getOtherDeductionService(user).personalPensionList(param); } public void saveFreeIncome(FreeIncomeSaveParam param) { getOtherDeductionService(user).saveFreeIncome(param); } -} + + public void saveEndowmentInsurance(EndowmentInsuranceSaveParam param) { + getOtherDeductionService(user).saveEndowmentInsurance(param); + } + + public void saveGrantDonation(GrantDonationSaveParam param) { + getOtherDeductionService(user).saveGrantDonation(param); + } + + public void saveHealthInsurance(HealthInsuranceSaveParam param) { + getOtherDeductionService(user).saveHealthInsurance(param); + } + + public void saveOtherDerateDeduction(OtherDerateDeductionSaveParam param) { + getOtherDeductionService(user).saveOtherDerateDeduction(param); + } + + public void saveDerateDeduction(DerateDeductionSaveParam param) { + getOtherDeductionService(user).saveDerateDeduction(param); + } + + public void savePersonalPension(PersonalPensionSaveParam param) { + getOtherDeductionService(user).savePersonalPension(param); + } + + public void deleteFreeIncome(OtherDeductionDetailDeleteParam param) { + getOtherDeductionService(user).deleteFreeIncome(param); + } + + public void deleteEndowmentInsurance(OtherDeductionDetailDeleteParam param) { + getOtherDeductionService(user).deleteEndowmentInsurance(param); + } + + public void deleteGrantDonation(OtherDeductionDetailDeleteParam param) { + getOtherDeductionService(user).deleteGrantDonation(param); + } + + public void deleteHealthInsurance(OtherDeductionDetailDeleteParam param) { + getOtherDeductionService(user).deleteHealthInsurance(param); + } + + public void deleteOtherDerateDeduction(OtherDeductionDetailDeleteParam param) { + getOtherDeductionService(user).deleteOtherDerateDeduction(param); + } + + public void deleteDerateDeduction(OtherDeductionDetailDeleteParam param) { + getOtherDeductionService(user).deleteDerateDeduction(param); + } + + public void deletePersonalPension(OtherDeductionDetailDeleteParam param) { + getOtherDeductionService(user).deletePersonalPension(param); + } + +} \ No newline at end of file