Merge branch 'release/2.19.1.2501.01' into custom/美锦能源
This commit is contained in:
commit
c07c75648e
|
|
@ -1,5 +1,6 @@
|
|||
package com.engine.salary.entity.salaryacct.bo;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.engine.salary.constant.TaxDeclarationDataIndexConstant;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
|
|
@ -73,6 +74,9 @@ public class SalaryAcctConsolidatedTaxBO {
|
|||
.filter(e -> Objects.equals(e.getSalaryItemId(), optional.get()))
|
||||
.map(e -> SalaryEntityUtil.empty2Zero(e.getResultValue()))
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
if (StrUtil.isBlank(resultValue)) {
|
||||
resultValue = "0.00";
|
||||
}
|
||||
return new BigDecimal(resultValue).add(income).toPlainString();
|
||||
}
|
||||
// 个税调差为0
|
||||
|
|
@ -98,6 +102,9 @@ public class SalaryAcctConsolidatedTaxBO {
|
|||
.map(e -> SalaryEntityUtil.empty2Zero(e.getResultValue()))
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
if (StrUtil.isBlank(resultValue)) {
|
||||
resultValue = "0.00";
|
||||
}
|
||||
return new BigDecimal(resultValue).add(refundedOrSupplementedTax).subtract(taxAdjustment).toPlainString();
|
||||
}
|
||||
return resultValue;
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import java.util.Collection;
|
|||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SalaryAcctCalculateParam {
|
||||
public class SalaryAcctCalculateParam {
|
||||
|
||||
//核算人员的id,不是employeeId而是salaryAcctEmpId
|
||||
private Collection<Long> ids;
|
||||
|
|
|
|||
|
|
@ -37,6 +37,10 @@ public class TaxDeclarationListDTO {
|
|||
@TableTitle(title = "薪资类型", dataIndex = "incomeCategory", key = "incomeCategory")
|
||||
private String incomeCategory;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
|
||||
@TableTitle(title = "税款所属期", dataIndex = "taxCycle", key = "taxCycle")
|
||||
private Date taxCycle;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
|
||||
@TableTitle(title = "薪资所属月", dataIndex = "salaryMonth", key = "salaryMonth")
|
||||
private Date salaryMonth;
|
||||
|
|
@ -47,10 +51,6 @@ public class TaxDeclarationListDTO {
|
|||
@TableTitle(title = "个税扣缴义务人", dataIndex = "taxAgentName", key = "taxAgentName")
|
||||
private String taxAgentName;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
|
||||
@TableTitle(title = "税款所属期", dataIndex = "taxCycle", key = "taxCycle")
|
||||
private Date taxCycle;
|
||||
|
||||
//@TableTitle(title = "操作人id", dataIndex = "operateEmployeeId", key = "operateEmployeeId")
|
||||
private Long operateEmployeeId;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,14 @@
|
|||
package com.engine.salary.entity.taxdeclaration.param;
|
||||
|
||||
import com.engine.salary.common.BaseQueryParam;
|
||||
import lombok.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.YearMonth;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 个税申报记录查询条件
|
||||
|
|
@ -20,12 +25,13 @@ import java.time.YearMonth;
|
|||
public class TaxDeclarationListQueryParam extends BaseQueryParam {
|
||||
|
||||
//薪资所属月范围起点
|
||||
private YearMonth fromSalaryMonth;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
private Date fromSalaryMonth;
|
||||
|
||||
//薪资所属月范围终点
|
||||
private YearMonth endSalaryMonth;
|
||||
//薪资所属月范围终点
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
private Date endSalaryMonth;
|
||||
|
||||
private String fromSalaryMonthStr;
|
||||
|
||||
private String endSalaryMonthStr;
|
||||
//个税扣缴义务人菜单")
|
||||
private String taxAgentName;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -86,6 +86,13 @@ public class TaxDeclarationPO {
|
|||
LocalDateRange salaryMonths;
|
||||
|
||||
|
||||
//"开始日期
|
||||
private Date taxCycleFromDate;
|
||||
|
||||
//结束日期
|
||||
private Date taxCycleEndDate;
|
||||
|
||||
|
||||
|
||||
private Collection<Long> taxAgentIds;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,6 +61,12 @@
|
|||
<if test="salaryMonths != null and salaryMonths.endDate != null">
|
||||
AND salary_month <![CDATA[ <= ]]> #{salaryMonths.endDate}
|
||||
</if>
|
||||
<if test="taxCycleFromDate != null">
|
||||
AND tax_cycle <![CDATA[ >= ]]> #{taxCycleFromDate}
|
||||
</if>
|
||||
<if test="taxCycleEndDate != null">
|
||||
AND tax_cycle <![CDATA[ <= ]]> #{taxCycleEndDate}
|
||||
</if>
|
||||
<if test="taxAgentIds != null and taxAgentIds.size()>0">
|
||||
AND tax_agent_id IN
|
||||
<foreach collection="taxAgentIds" open="(" item="id" separator="," close=")">
|
||||
|
|
|
|||
|
|
@ -172,7 +172,8 @@ public class SIAComparisonResultServiceImpl extends Service implements SIACompar
|
|||
List<InsuranceArchivesBaseInfoPO> baseInfoPOList = getInsuranceBaseInfoMapper().listAll();
|
||||
List<Long> canAccountIds = baseInfoPOList.stream()
|
||||
.filter(f->f.getPaymentOrganization().toString().equals(queryParam.getPaymentOrganization())
|
||||
&& (f.getRunStatus().equals(EmployeeStatusEnum.PAYING.getValue()) || f.getRunStatus().equals(EmployeeStatusEnum.STAY_DEL.getValue())))
|
||||
&& !f.getRunStatus().equals(EmployeeStatusEnum.STAY_ADD.getValue())
|
||||
)
|
||||
.map(InsuranceArchivesBaseInfoPO::getEmployeeId)
|
||||
.collect(Collectors.toList());
|
||||
accountExportPOS = accountExportPOS.stream().filter(v -> canAccountIds.contains(v.getEmployeeId())).collect(Collectors.toList());
|
||||
|
|
|
|||
|
|
@ -485,6 +485,11 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
|
|||
if (salarySendInfo == null) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100511, "工资单信息不存在"));
|
||||
}
|
||||
|
||||
if (!Objects.equals(salarySendInfo.getSendStatus(), 1)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100511, "工资单信息不存在"));
|
||||
}
|
||||
|
||||
Long employeeId = salarySendInfo.getEmployeeId();
|
||||
if (currentEmployeeId.compareTo(employeeId) != 0) {
|
||||
|
||||
|
|
@ -1343,7 +1348,6 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
|
|||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Map<String, Object> withdraw(SalarySendWithdrawParam param) {
|
||||
if (param.getSalarySendId() == null) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.engine.salary.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.hrmelog.entity.dto.LoggerContext;
|
||||
|
|
@ -9,6 +10,7 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
|||
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobPO;
|
||||
import com.engine.salary.entity.taxagent.param.TaxAgentQueryParam;
|
||||
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
||||
import com.engine.salary.entity.taxdeclaration.bo.TaxDeclarationBO;
|
||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationListQueryParam;
|
||||
|
|
@ -114,15 +116,12 @@ public class TaxDeclarationServiceImpl extends Service implements TaxDeclaration
|
|||
|
||||
// 分页参数
|
||||
TaxDeclarationPO po = TaxDeclarationPO.builder().build();
|
||||
LocalDateRange localDateRange = new LocalDateRange();
|
||||
if (Objects.nonNull(queryParam.getFromSalaryMonth())) {
|
||||
localDateRange.setFromDate(SalaryDateUtil.localDateToDate(queryParam.getFromSalaryMonth().atDay(1)));
|
||||
po.setTaxCycleFromDate(queryParam.getFromSalaryMonth());
|
||||
}
|
||||
if (Objects.nonNull(queryParam.getEndSalaryMonth())) {
|
||||
localDateRange.setEndDate(SalaryDateUtil.localDateToDate(queryParam.getEndSalaryMonth().atEndOfMonth()));
|
||||
po.setTaxCycleEndDate(queryParam.getEndSalaryMonth());
|
||||
}
|
||||
po.setSalaryMonths(localDateRange);
|
||||
|
||||
|
||||
// 分权
|
||||
Boolean openDevolution = getTaxAgentService(user).isNeedAuth(currentEmployeeId);
|
||||
|
|
@ -138,6 +137,15 @@ public class TaxDeclarationServiceImpl extends Service implements TaxDeclaration
|
|||
|
||||
// 查询个税申报表
|
||||
List<TaxDeclarationPO> taxDeclarationPOS = getTaxDeclarationMapper().listSome(po);
|
||||
|
||||
|
||||
if (StrUtil.isNotBlank(queryParam.getTaxAgentName())) {
|
||||
List<TaxAgentPO> taxAgentPOs = getTaxAgentService(user).list(TaxAgentQueryParam.builder().name(queryParam.getTaxAgentName()).build());
|
||||
Set<Long> taxAgentIds = SalaryEntityUtil.properties(taxAgentPOs, TaxAgentPO::getId);
|
||||
taxDeclarationPOS = taxDeclarationPOS.stream().filter(tax -> taxAgentIds.contains(tax.getTaxAgentId())).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
return SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(),
|
||||
taxDeclarationPOS, TaxDeclarationPO.class);
|
||||
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ public class ExcelUtilPlus {
|
|||
for (int i = 0; i < header.size(); i++) {
|
||||
WeaTableColumnGroup columnGroupItem = (WeaTableColumnGroup) header.get(i);
|
||||
XSSFCell rowZeroCell = row0.createCell(i, CellType.STRING);
|
||||
rowZeroCell.setCellValue(columnGroupItem.getText().toString());
|
||||
rowZeroCell.setCellValue(columnGroupItem.getText());
|
||||
rowZeroCell.setCellStyle(titleCellStyle);
|
||||
//设置列宽
|
||||
sheet.setColumnWidth(i, Math.min(255, Math.max(12, columnGroupItem.getText().length() * 4)) * 256);
|
||||
|
|
|
|||
|
|
@ -250,7 +250,9 @@ public class ValidUtil {
|
|||
.replace("between", "between")
|
||||
.replace("BETWEEN", "BETWEEN")
|
||||
.replace("union", "union")
|
||||
.replace("UNION", "UNION");
|
||||
.replace("UNION", "UNION")
|
||||
.replace("substr", "substr")
|
||||
.replace("SUBSTR", "SUBSTR");
|
||||
}
|
||||
setValue(t, field.getName(), result);
|
||||
} else if (valueTypeEnum == ValueTypeEnum.OBJECT) {
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@ import javax.ws.rs.core.Response;
|
|||
import javax.ws.rs.core.StreamingOutput;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLEncoder;
|
||||
import java.text.ParseException;
|
||||
import java.time.LocalDate;
|
||||
|
||||
|
||||
|
|
@ -58,10 +57,8 @@ public class TaxDeclarationController {
|
|||
@POST
|
||||
@Path("/list")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String list(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationListQueryParam queryParam) throws ParseException {
|
||||
public String list(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationListQueryParam queryParam){
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
queryParam.setFromSalaryMonth(SalaryDateUtil.String2YearMonth(queryParam.getFromSalaryMonthStr() == null ? "" : queryParam.getFromSalaryMonthStr()));
|
||||
queryParam.setEndSalaryMonth(SalaryDateUtil.String2YearMonth(queryParam.getEndSalaryMonthStr() == null ? "" : queryParam.getEndSalaryMonthStr()));
|
||||
return new ResponseResult<TaxDeclarationListQueryParam, PageInfo<TaxDeclarationListDTO>>(user).run(getTaxDeclarationWrapper(user)::listPage, queryParam);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -97,7 +97,10 @@ public class SalarySobRangeWrapper extends Service {
|
|||
.replace("between", "between")
|
||||
.replace("BETWEEN", "BETWEEN")
|
||||
.replace("union", "union")
|
||||
.replace("UNION", "UNION"));
|
||||
.replace("UNION", "UNION")
|
||||
.replace("substr", "substr")
|
||||
.replace("SUBSTR", "SUBSTR")
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -127,7 +130,10 @@ public class SalarySobRangeWrapper extends Service {
|
|||
.replace("between", "between")
|
||||
.replace("BETWEEN", "BETWEEN")
|
||||
.replace("union", "union")
|
||||
.replace("UNION", "UNION"));
|
||||
.replace("UNION", "UNION")
|
||||
.replace("substr", "substr")
|
||||
.replace("SUBSTR", "SUBSTR")
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -365,7 +365,10 @@ public class TaxAgentWrapper extends Service {
|
|||
.replace("between", "between")
|
||||
.replace("BETWEEN", "BETWEEN")
|
||||
.replace("union", "union")
|
||||
.replace("UNION", "UNION"));
|
||||
.replace("UNION", "UNION")
|
||||
.replace("substr", "substr")
|
||||
.replace("SUBSTR", "SUBSTR")
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -399,7 +402,10 @@ public class TaxAgentWrapper extends Service {
|
|||
.replace("between", "between")
|
||||
.replace("BETWEEN", "BETWEEN")
|
||||
.replace("union", "union")
|
||||
.replace("UNION", "UNION"));
|
||||
.replace("UNION", "UNION")
|
||||
.replace("substr", "substr")
|
||||
.replace("SUBSTR", "SUBSTR")
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue