Merge remote-tracking branch 'remotes/origin/develop' into feature/checkImport

# Conflicts:
#	src/com/engine/salary/mapper/InsuranceExportMapper.java
#	src/com/engine/salary/mapper/InsuranceExportMapper.xml
#	src/com/engine/salary/service/impl/SIAccountServiceImpl.java
This commit is contained in:
sy 2022-09-29 11:29:17 +08:00
commit 44e4afbf72
56 changed files with 1159 additions and 1090 deletions

View File

@ -0,0 +1,47 @@
Oracle数据库中常见报错问题
1、工资单发放----新建工资单模板时显示系统异常无法进行下一步
解决方法:在数据库中执行以下语句,第一句执行成功后再执行第二句,如果第一句执行失败请勿执行下面的!!!!!!
-- 创建临时表HRSA_SALARY_TEMPLAT_TEMPT 结构与数据和HRSA_SALARY_TEMPLATE一样
create table HRSA_SALARY_TEMPLAT_TEMPT as select * from HRSA_SALARY_TEMPLATE;
-- 删除原表HRSA_SALARY_TEMPLATE数据
delete from HRSA_SALARY_TEMPLATE;
alter table HRSA_SALARY_TEMPLATE modify salary_item_setting long;
alter table HRSA_SALARY_TEMPLATE modify salary_item_setting CLOB;
insert into HRSA_SALARY_TEMPLATE select * from HRSA_SALARY_TEMPLAT_TEMPT ;
drop table HRSA_SALARY_TEMPLAT_TEMPT;
2、工资单发放----发放工资单时显示系统异常无法进行下一步
解决方法:在数据库中执行以下语句,第一句执行成功后再执行第二句,如果第一句执行失败请勿执行下面的!!!!!!
-- 创建临时表HRSA_SALARY_SEND_INFO_TEMPI结构与数据和HRSA_SALARY_SEND_INFO一样
create table HRSA_SALARY_SEND_INFO_TEMPI as select * from HRSA_SALARY_SEND_INFO;
-- 删除原表HRSA_SALARY_SEND_INFO数据
delete from HRSA_SALARY_SEND_INFO;
alter table HRSA_SALARY_SEND_INFO modify SALARY_TEMPLATE long;
alter table HRSA_SALARY_SEND_INFO modify SALARY_TEMPLATE CLOB;
insert into HRSA_SALARY_SEND_INFO select * from HRSA_SALARY_SEND_INFO_TEMPI;
drop table HRSA_SALARY_SEND_INFO_TEMPI;

View File

@ -40,6 +40,9 @@ import com.engine.salary.service.SalaryEmployeeService;
import com.engine.salary.service.TaxAgentService;
import com.engine.salary.service.impl.SalaryEmployeeServiceImpl;
import com.engine.salary.service.impl.TaxAgentServiceImpl;
import com.engine.salary.sys.entity.vo.OrderRuleVO;
import com.engine.salary.sys.service.SalarySysConfService;
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.SalaryAssert;
import com.engine.salary.util.SalaryDateUtil;
import com.engine.salary.util.SalaryEntityUtil;
@ -55,6 +58,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import weaver.hrm.User;
import java.math.BigDecimal;
import java.util.*;
@ -104,6 +108,10 @@ public class SIAccountBiz extends Service {
return MapperProxyFactory.getProxy(SocialSchemeMapper.class);
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
public PageInfo<InsuranceAccountBatchPO> listPage(InsuranceAccountBatchParam queryParam) {
SalaryPageUtil.start(queryParam.getCurrent(), queryParam.getPageSize());
List<InsuranceAccountBatchPO> list = getInsuranceAccountBatchMapper().list(queryParam);
@ -114,6 +122,11 @@ public class SIAccountBiz extends Service {
public PageInfo<InsuranceAccountDetailPO> listCommonPage(InsuranceAccountDetailParam queryParam) {
queryParam.setPaymentStatus(PaymentStatusEnum.COMMON.getValue());
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule);
SalaryPageUtil.start(queryParam.getCurrent(), queryParam.getPageSize());
List<InsuranceAccountDetailPO> list = getInsuranceAccountDetailMapper().list(queryParam);
InsuranceAccountDetailPOEncrypt.decryptInsuranceAccountDetailPOList(list);

View File

@ -706,6 +706,8 @@ public class SIArchivesBiz {
request.setJobNum(param.getJobNum());
request.setOrderRule(param.getOrderRule());
apidatas = listPageEmployeePOS(request, operateId);
return apidatas;

View File

@ -7,7 +7,6 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Author weaver_cl
@ -45,7 +44,7 @@ public class InsuranceArchivesEmployeePO {
private String hiredate;
private Date dimissionDate;
private String dimissionDate;
private Long siSchemeId;

View File

@ -1,5 +1,6 @@
package com.engine.salary.entity.siexport.param;
import com.engine.salary.common.BaseQueryParam;
import com.engine.salary.util.valid.DataCheck;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -17,7 +18,7 @@ import lombok.NoArgsConstructor;
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class InsuranceExportParam {
public class InsuranceExportParam extends BaseQueryParam {
//@NotBlank
@DataCheck(require = true,message = "账单月份不可为空")

View File

@ -8,12 +8,13 @@ import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* @description: 个税申报记录详情列表查询参数
* @author: xiajun
* @modified By: xiajun
* @date: Created in 12/15/21 3:21 PM
* @version:v1.0
*/
* 个税申报记录详情列表查询参数
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
@Data
@Builder
@Accessors(chain = true)

View File

@ -1,5 +1,6 @@
package com.engine.salary.mapper;
import com.engine.salary.entity.siexport.param.InsuranceExportParam;
import com.engine.salary.entity.siexport.po.AccountExportPO;
import com.engine.salary.entity.siexport.po.ExcelAccountExportPO;
import org.apache.ibatis.annotations.Param;
@ -14,7 +15,7 @@ import java.util.List;
**/
public interface InsuranceExportMapper {
List<AccountExportPO> exportAccount(@Param("paymentStatus") Integer paymentStatus, @Param("billMonth") String billMonth,@Param("paymentOrganization") String paymentOrganization);
List<ExcelAccountExportPO> exportExcelAccount(@Param("paymentStatus") Integer paymentStatus, @Param("billMonth") String billMonth, @Param("paymentOrganization") String paymentOrganization);
List<AccountExportPO> exportAccount(@Param("paymentStatus") Integer paymentStatus, @Param("param") InsuranceExportParam param);
}

View File

@ -2,6 +2,24 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.engine.salary.mapper.InsuranceExportMapper">
<select id="exportAccount" resultType="com.engine.salary.entity.siexport.po.AccountExportPO">
SELECT a.*,
e.lastname AS userName,
e.MOBILE AS telephone,
d.departmentname AS departmentName,
e.STATUS AS userStatus,
e.workcode AS workcode
FROM (
SELECT *
from hrsa_bill_detail
WHERE delete_type = 0
AND bill_month = #{param.billMonth}
AND payment_status = #{paymentStatus}
AND payment_organization = #{param.paymentOrganization}
) a
LEFT JOIN hrmresource e ON e.ID = a.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
where e.status not in (7)
SELECT
a.*,e.lastname AS userName,e.MOBILE AS telephone,d.departmentname AS departmentName,e.STATUS AS userStatus,e.workcode AS workcode
FROM(
@ -12,29 +30,61 @@
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="exportAccount" resultType="com.engine.salary.entity.siexport.po.AccountExportPO" databaseId="oracle">
SELECT
a.*,e.lastname AS userName,e.MOBILE AS telephone,d.departmentname AS departmentName,e.STATUS AS userStatus,e.workcode AS workcode
FROM(
SELECT * from hrsa_bill_detail
WHERE delete_type = 0 AND bill_month = #{billMonth} AND payment_status = #{paymentStatus} AND payment_organization = #{paymentOrganization}
)a
LEFT JOIN hrmresource e ON e.ID = a.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
where e.status not in (7)
SELECT a.*,
e.lastname AS userName,
e.MOBILE AS telephone,
d.departmentname AS departmentName,
e.STATUS AS userStatus,
e.workcode AS workcode
FROM (
SELECT *
from hrsa_bill_detail
WHERE delete_type = 0
AND bill_month = #{param.billMonth}
AND payment_status = #{paymentStatus}
AND payment_organization = #{param.paymentOrganization}
) a
LEFT JOIN hrmresource e ON e.ID = a.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
</select>
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="exportAccount" resultType="com.engine.salary.entity.siexport.po.AccountExportPO" databaseId="sqlserver">
SELECT
a.*,e.lastname AS userName,e.MOBILE AS telephone,d.departmentname AS departmentName,e.STATUS AS userStatus,e.workcode AS workcode
FROM(
SELECT * from hrsa_bill_detail
WHERE delete_type = 0 AND bill_month = #{billMonth} AND payment_status = #{paymentStatus} AND payment_organization = #{paymentOrganization}
)a
LEFT JOIN hrmresource e ON e.ID = a.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
</select>
SELECT a.*,
e.lastname AS userName,
e.MOBILE AS telephone,
d.departmentname AS departmentName,
e.STATUS AS userStatus,
e.workcode AS workcode
FROM (
SELECT *
from hrsa_bill_detail
WHERE delete_type = 0
AND bill_month = #{param.billMonth}
AND payment_status = #{paymentStatus}
AND payment_organization = #{param.paymentOrganization}
) a
LEFT JOIN hrmresource e ON e.ID = a.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="exportExcelAccount" resultType="com.engine.salary.entity.siexport.po.ExcelAccountExportPO">
SELECT

View File

@ -148,10 +148,10 @@
<if test="param.hiredate != null and param.hiredate.size() == 2">
AND (e.companystartdate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
</if>
<!-- &lt;!&ndash; 排序 &ndash;&gt;-->
<!-- <if test="param.orderRule != null">-->
<!-- ORDER BY #{param.orderRule.orderRule} #{param.orderRule.ascOrDesc}-->
<!-- </if>-->
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="list" resultType="com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO" databaseId="oracle">
SELECT
@ -206,10 +206,10 @@
<if test="param.hiredate != null and param.hiredate.size() == 2">
AND (e.companystartdate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
</if>
<!-- &lt;!&ndash; 排序 &ndash;&gt;-->
<!-- <if test="param.orderRule != null">-->
<!-- ORDER BY #{param.orderRule.orderRule} #{param.orderRule.ascOrDesc}-->
<!-- </if>-->
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="list" resultType="com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO"
databaseId="sqlserver">
@ -265,10 +265,10 @@
<if test="param.hiredate != null and param.hiredate.size() == 2">
AND (e.companystartdate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
</if>
<!-- &lt;!&ndash; 排序 &ndash;&gt;-->
<!-- <if test="param.orderRule != null">-->
<!-- ORDER BY #{param.orderRule.orderRule} #{param.orderRule.ascOrDesc}-->
<!-- </if>-->
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<insert id="batchInsert">

View File

@ -159,6 +159,8 @@
<if test="param.mobile != null and param.mobile != ''">
AND e.mobile like CONCAT('%',#{param.mobile},'%')
</if>
</sql>
<sql id="paramSql" databaseId="oracle">
<if test="param.ids != null and param.ids.size()>0">
@ -291,12 +293,16 @@
LEFT JOIN hrsa_tax_agent t2 ON t1.tax_agent_id = t2.id
LEFT JOIN hrmresource e ON e.id = t1.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE
t1.delete_type = 0 AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
ORDER BY t1.id DESC
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="list" resultType="com.engine.salary.entity.datacollection.dto.AddUpDeductionDTO"
@ -308,12 +314,16 @@
LEFT JOIN hrsa_tax_agent t2 ON t1.tax_agent_id = t2.id
LEFT JOIN hrmresource e ON e.id = t1.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE
t1.delete_type = 0 AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
ORDER BY t1.id DESC
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="list" resultType="com.engine.salary.entity.datacollection.dto.AddUpDeductionDTO"
databaseId="sqlserver">
@ -324,12 +334,16 @@
LEFT JOIN hrsa_tax_agent t2 ON t1.tax_agent_id = t2.id
LEFT JOIN hrmresource e ON e.id = t1.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE
t1.delete_type = 0 AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
ORDER BY t1.id DESC
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>

View File

@ -317,13 +317,17 @@
LEFT JOIN hrmresource e ON e.id = t1.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrsa_tax_agent t2 ON t1.tax_agent_id = t2.id
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE
t1.delete_type = 0
AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
ORDER BY t1.id DESC
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="list" resultType="com.engine.salary.entity.datacollection.dto.AddUpSituationDTO"
databaseId="oracle">
@ -337,13 +341,17 @@
LEFT JOIN hrmresource e ON e.id = t1.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrsa_tax_agent t2 ON t1.tax_agent_id = t2.id
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE
t1.delete_type = 0
AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
ORDER BY t1.id DESC
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="list" resultType="com.engine.salary.entity.datacollection.dto.AddUpSituationDTO"
databaseId="sqlserver">
@ -357,13 +365,17 @@
LEFT JOIN hrmresource e ON e.id = t1.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrsa_tax_agent t2 ON t1.tax_agent_id = t2.id
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE
t1.delete_type = 0
AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
ORDER BY t1.id DESC
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>

View File

@ -255,12 +255,16 @@
hrsa_attend_quote_data t1
LEFT JOIN hrmresource e ON e.id = t1.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE
t1.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
ORDER BY t1.id DESC
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="list" resultType="com.engine.salary.entity.datacollection.dto.AttendQuoteDataBaseDTO" databaseId="oracle">
SELECT
@ -269,12 +273,16 @@
hrsa_attend_quote_data t1
LEFT JOIN hrmresource e ON e.id = t1.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE
t1.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
ORDER BY t1.id DESC
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="list" resultType="com.engine.salary.entity.datacollection.dto.AttendQuoteDataBaseDTO" databaseId="sqlserver">
SELECT
@ -283,12 +291,16 @@
hrsa_attend_quote_data t1
LEFT JOIN hrmresource e ON e.id = t1.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE
t1.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
ORDER BY t1.id DESC
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<update id="deleteByAttendQuoteIds">

View File

@ -262,12 +262,16 @@
LEFT JOIN hrsa_tax_agent t2 ON t1.tax_agent_id = t2.id
LEFT JOIN hrmresource e ON e.id = t1.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE
t1.delete_type = 0 AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
ORDER BY t1.id DESC
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="recordList" resultType="com.engine.salary.entity.datacollection.dto.OtherDeductionRecordDTO">

View File

@ -23,9 +23,20 @@
</resultMap>
<sql id="SalaryAccEmployeeColumn">
t
.
id
, salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
creator, create_time, update_time, delete_type, tenant_key
,
t.salary_acct_record_id,
t.salary_sob_id,
t.employee_id,
t.tax_agent_id,
t.salary_month,
t.creator,
t.create_time,
t.update_time,
t.delete_type,
t.tenant_key
</sql>
<sql id="emp1Column">
@ -114,7 +125,10 @@
FROM (
SELECT
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp
FROM hrsa_salary_acct_emp t
LEFT JOIN hrmresource e ON e.id = t.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE
delete_type = 0
AND salary_acct_record_id = #{param.salaryAcctRecordId}
@ -294,7 +308,7 @@
FROM (
SELECT
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp
FROM hrsa_salary_acct_emp t
WHERE
delete_type = 0
AND salary_acct_record_id = #{param.salaryAcctRecordId}
@ -303,7 +317,7 @@
(
SELECT
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp
FROM hrsa_salary_acct_emp t
WHERE
delete_type = 0
AND salary_acct_record_id IN
@ -315,72 +329,20 @@
</select>
<select id="list4ConsolidatedTax" resultMap="SalaryAccEmployeeMap" databaseId="oracle">
SELECT DISTINCT
emp1.id, emp1.salary_acct_record_id, emp1.salary_sob_id, emp1.employee_id, emp1.tax_agent_id, emp1.salary_month,
emp1.creator, emp1.create_time, emp1.update_time, emp1.delete_type, emp1.tenant_key
<include refid="emp1Column"/>
FROM (
SELECT
id, salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
creator, create_time, update_time, delete_type, tenant_key
FROM hrsa_salary_acct_emp
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp t
WHERE
delete_type = 0
AND salary_acct_record_id = #{param.salaryAcctRecordId}
<if test="param.ids != null and param.ids.size()>0">
AND id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.taxAgentId != null">
AND tax_agent_id = #{param.taxAgentId}
</if>
<if test="(param.employeeName != null and param.employeeName != '')
or (param.departmentIds != null and param.departmentIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.status != null and param.status.toString != 'ALL')">
AND employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
<if test="param.employeeName != null and param.employeeName != ''">
AND em.lastname LIKE '%'||#{param.employeeName}||'%'
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND em.departmentid IN
<foreach collection="param.departmentIds" open="(" item="departmentId" separator="," close=")">
#{departmentId}
</foreach>
</if>
<if test="param.positionIds != null and param.positionIds.size()>0">
AND em.jobtitle IN
<foreach collection="param.positionIds" open="(" item="positionId" separator="," close=")">
#{positionId}
</foreach>
</if>
-- 在职
<if test="param.status != null and param.status.toString == 'NORMAL'">
AND em.status in (0,1,2,3)
</if>
-- 离职
<if test="param.status != null and param.status.toString == 'UNAVAILABLE'">
AND em.status in (4,5,6)
</if>
)
</if>
<include refid="SalaryAcctEmployeeParamSql"/>
) emp1,
(
SELECT
id, salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
creator, create_time, update_time, delete_type, tenant_key
FROM hrsa_salary_acct_emp
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp t
WHERE
delete_type = 0
AND salary_acct_record_id IN
@ -392,72 +354,20 @@
</select>
<select id="list4ConsolidatedTax" resultMap="SalaryAccEmployeeMap" databaseId="sqlserver">
SELECT DISTINCT
emp1.id, emp1.salary_acct_record_id, emp1.salary_sob_id, emp1.employee_id, emp1.tax_agent_id, emp1.salary_month,
emp1.creator, emp1.create_time, emp1.update_time, emp1.delete_type, emp1.tenant_key
<include refid="emp1Column"/>
FROM (
SELECT
id, salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
creator, create_time, update_time, delete_type, tenant_key
FROM hrsa_salary_acct_emp
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp t
WHERE
delete_type = 0
AND salary_acct_record_id = #{param.salaryAcctRecordId}
<if test="param.ids != null and param.ids.size()>0">
AND id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.taxAgentId != null">
AND tax_agent_id = #{param.taxAgentId}
</if>
<if test="(param.employeeName != null and param.employeeName != '')
or (param.departmentIds != null and param.departmentIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.status != null and param.status.toString != 'ALL')">
AND employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
<if test="param.employeeName != null and param.employeeName != ''">
AND em.lastname LIKE '%'+#{param.employeeName}+'%'
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND em.departmentid IN
<foreach collection="param.departmentIds" open="(" item="departmentId" separator="," close=")">
#{departmentId}
</foreach>
</if>
<if test="param.positionIds != null and param.positionIds.size()>0">
AND em.jobtitle IN
<foreach collection="param.positionIds" open="(" item="positionId" separator="," close=")">
#{positionId}
</foreach>
</if>
-- 在职
<if test="param.status != null and param.status.toString == 'NORMAL'">
AND em.status in (0,1,2,3)
</if>
-- 离职
<if test="param.status != null and param.status.toString == 'UNAVAILABLE'">
AND em.status in (4,5,6)
</if>
)
</if>
<include refid="SalaryAcctEmployeeParamSql"/>
) emp1,
(
SELECT
id, salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
creator, create_time, update_time, delete_type, tenant_key
FROM hrsa_salary_acct_emp
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp t
WHERE
delete_type = 0
AND salary_acct_record_id IN
@ -471,275 +381,115 @@
<select id="listPage" resultMap="SalaryAccEmployeeMap">
SELECT
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp
FROM hrsa_salary_acct_emp t
LEFT JOIN hrmresource e ON e.id = t.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE delete_type = 0
AND salary_acct_record_id = #{param.salaryAcctRecordId}
<include refid="SalaryAcctEmployeeParamSql"/>
ORDER BY id DESC
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="listPage" resultMap="SalaryAccEmployeeMap" databaseId="oracle">
SELECT
id, salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
creator, create_time, update_time, delete_type, tenant_key
FROM hrsa_salary_acct_emp
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp t
LEFT JOIN hrmresource e ON e.id = t.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE delete_type = 0
AND salary_acct_record_id = #{param.salaryAcctRecordId}
<if test="param.ids != null and param.ids.size()>0">
AND id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
<include refid="SalaryAcctEmployeeParamSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
<if test="param.taxAgentId != null">
AND tax_agent_id = #{param.taxAgentId}
</if>
<if test="(param.employeeName != null and param.employeeName != '')
or (param.subcompanyIds != null and param.subcompanyIds.size()>0)
or (param.departmentIds != null and param.departmentIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.status != null and param.status.toString != 'ALL')">
AND employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
<if test="param.employeeName != null and param.employeeName != ''">
AND em.lastname LIKE '%'||#{param.employeeName}||'%'
</if>
-- 分部
<if test="param.subcompanyIds != null and param.subcompanyIds.size()>0">
AND em.subcompanyid1 IN
<foreach collection="param.subcompanyIds" open="(" item="subcompanyId" separator="," close=")">
#{subcompanyId}
</foreach>
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND em.departmentid IN
<foreach collection="param.departmentIds" open="(" item="departmentId" separator="," close=")">
#{departmentId}
</foreach>
</if>
<if test="param.positionIds != null and param.positionIds.size()>0">
AND em.jobtitle IN
<foreach collection="param.positionIds" open="(" item="positionId" separator="," close=")">
#{positionId}
</foreach>
</if>
-- 在职
<if test="param.status != null and param.status.toString == 'NORMAL'">
AND em.status in (0,1,2,3)
</if>
-- 离职
<if test="param.status != null and param.status.toString == 'UNAVAILABLE'">
AND em.status in (4,5,6)
</if>
)
</if>
ORDER BY id DESC
</select>
<select id="listPage" resultMap="SalaryAccEmployeeMap" databaseId="sqlserver">
SELECT
id, salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
creator, create_time, update_time, delete_type, tenant_key
FROM hrsa_salary_acct_emp
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp t
LEFT JOIN hrmresource e ON e.id = t.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE delete_type = 0
AND salary_acct_record_id = #{param.salaryAcctRecordId}
<if test="param.ids != null and param.ids.size()>0">
AND id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
<include refid="SalaryAcctEmployeeParamSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
<if test="param.taxAgentId != null">
AND tax_agent_id = #{param.taxAgentId}
</if>
<if test="(param.employeeName != null and param.employeeName != '')
or (param.subcompanyIds != null and param.subcompanyIds.size()>0)
or (param.departmentIds != null and param.departmentIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.status != null and param.status.toString != 'ALL')">
AND employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
<if test="param.employeeName != null and param.employeeName != ''">
AND em.lastname LIKE '%'+#{param.employeeName}+'%'
</if>
-- 分部
<if test="param.subcompanyIds != null and param.subcompanyIds.size()>0">
AND em.subcompanyid1 IN
<foreach collection="param.subcompanyIds" open="(" item="subcompanyId" separator="," close=")">
#{subcompanyId}
</foreach>
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND em.departmentid IN
<foreach collection="param.departmentIds" open="(" item="departmentId" separator="," close=")">
#{departmentId}
</foreach>
</if>
<if test="param.positionIds != null and param.positionIds.size()>0">
AND em.jobtitle IN
<foreach collection="param.positionIds" open="(" item="positionId" separator="," close=")">
#{positionId}
</foreach>
</if>
-- 在职
<if test="param.status != null and param.status.toString == 'NORMAL'">
AND em.status in (0,1,2,3)
</if>
-- 离职
<if test="param.status != null and param.status.toString == 'UNAVAILABLE'">
AND em.status in (4,5,6)
</if>
)
</if>
ORDER BY id DESC
</select>
<select id="list" resultMap="SalaryAccEmployeeMap">
SELECT
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp
FROM hrsa_salary_acct_emp t
LEFT JOIN hrmresource e ON e.id = t.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE delete_type = 0
AND salary_acct_record_id = #{param.salaryAcctRecordId}
<include refid="SalaryAcctEmployeeParamSql"/>
ORDER BY id DESC
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="list" resultMap="SalaryAccEmployeeMap" databaseId="oracle">
SELECT
id, salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
creator, create_time, update_time, delete_type, tenant_key
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp
FROM hrsa_salary_acct_emp t
LEFT JOIN hrmresource e ON e.id = t.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE delete_type = 0
AND salary_acct_record_id = #{param.salaryAcctRecordId}
<if test="param.ids != null and param.ids.size()>0">
AND id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
<include refid="SalaryAcctEmployeeParamSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
<if test="param.taxAgentId != null">
AND tax_agent_id = #{param.taxAgentId}
</if>
<if test="(param.employeeName != null and param.employeeName != '')
or (param.departmentIds != null and param.departmentIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.status != null and param.status.toString != 'ALL')">
AND employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
<if test="param.employeeName != null and param.employeeName != ''">
AND em.lastname LIKE '%'||#{param.employeeName}||'%'
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND em.departmentid IN
<foreach collection="param.departmentIds" open="(" item="departmentId" separator="," close=")">
#{departmentId}
</foreach>
</if>
<if test="param.positionIds != null and param.positionIds.size()>0">
AND em.jobtitle IN
<foreach collection="param.positionIds" open="(" item="positionId" separator="," close=")">
#{positionId}
</foreach>
</if>
-- 在职
<if test="param.status != null and param.status.toString == 'NORMAL'">
AND em.status in (0,1,2,3)
</if>
-- 离职
<if test="param.status != null and param.status.toString == 'UNAVAILABLE'">
AND em.status in (4,5,6)
</if>
)
</if>
ORDER BY id DESC
</select>
<select id="list" resultMap="SalaryAccEmployeeMap" databaseId="sqlserver">
SELECT
id, salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
creator, create_time, update_time, delete_type, tenant_key
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp
FROM hrsa_salary_acct_emp t
LEFT JOIN hrmresource e ON e.id = t.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE delete_type = 0
AND salary_acct_record_id = #{param.salaryAcctRecordId}
<if test="param.ids != null and param.ids.size()>0">
AND id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
<include refid="SalaryAcctEmployeeParamSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
<if test="param.taxAgentId != null">
AND tax_agent_id = #{param.taxAgentId}
</if>
<if test="(param.employeeName != null and param.employeeName != '')
or (param.departmentIds != null and param.departmentIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.status != null and param.status.toString != 'ALL')">
AND employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
<if test="param.employeeName != null and param.employeeName != ''">
AND em.lastname LIKE '%'+#{param.employeeName}+'%'
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND em.departmentid IN
<foreach collection="param.departmentIds" open="(" item="departmentId" separator="," close=")">
#{departmentId}
</foreach>
</if>
<if test="param.positionIds != null and param.positionIds.size()>0">
AND em.jobtitle IN
<foreach collection="param.positionIds" open="(" item="positionId" separator="," close=")">
#{positionId}
</foreach>
</if>
-- 在职
<if test="param.status != null and param.status.toString == 'NORMAL'">
AND em.status in (0,1,2,3)
</if>
-- 离职
<if test="param.status != null and param.status.toString == 'UNAVAILABLE'">
AND em.status in (4,5,6)
</if>
)
</if>
ORDER BY id DESC
</select>
<sql id="SalaryAcctEmployeeParamSql">
<if test="param.ids != null and param.ids.size()>0">
AND id IN
AND t.id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.taxAgentId != null">
AND tax_agent_id = #{param.taxAgentId}
AND t.tax_agent_id = #{param.taxAgentId}
</if>
<if test="(param.employeeName != null and param.employeeName != '')
or (param.subcompanyIds != null and param.subcompanyIds.size()>0)
or (param.departmentIds != null and param.departmentIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.status != null and param.status.toString != 'ALL')">
AND employee_id IN
AND t.employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
@ -779,19 +529,19 @@
</sql>
<sql id="SalaryAcctEmployeeParamSql" databaseId="oracle">
<if test="param.ids != null and param.ids.size()>0">
AND id IN
AND t.id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.taxAgentId != null">
AND tax_agent_id = #{param.taxAgentId}
AND t.tax_agent_id = #{param.taxAgentId}
</if>
<if test="(param.employeeName != null and param.employeeName != '')
or (param.departmentIds != null and param.departmentIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.status != null and param.status.toString != 'ALL')">
AND employee_id IN
AND t.employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
@ -823,19 +573,19 @@
</sql>
<sql id="SalaryAcctEmployeeParamSql" databaseId="sqlserver">
<if test="param.ids != null and param.ids.size()>0">
AND id IN
AND t.id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.taxAgentId != null">
AND tax_agent_id = #{param.taxAgentId}
AND t.tax_agent_id = #{param.taxAgentId}
</if>
<if test="(param.employeeName != null and param.employeeName != '')
or (param.departmentIds != null and param.departmentIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.status != null and param.status.toString != 'ALL')">
AND employee_id IN
AND t.employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
@ -869,7 +619,10 @@
<select id="listPage4Reduce" resultMap="SalaryAccEmployeeMap">
SELECT
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp
FROM hrsa_salary_acct_emp t
LEFT JOIN hrmresource e ON e.id = t.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE delete_type = 0
AND salary_acct_record_id IN
<foreach collection="lastMonSalaryAcctRecordIds" item="salaryAcctRecordId" open="(" separator="," close=")">
@ -883,15 +636,20 @@
AND salary_acct_record_id = #{param.salaryAcctRecordId}
)
<include refid="SalaryAcctEmployeeParamSql"/>
ORDER BY id DESC
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="listPage4Reduce" resultMap="SalaryAccEmployeeMap" databaseId="oracle">
SELECT
id, salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
creator, create_time, update_time, delete_type, tenant_key
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp
FROM hrsa_salary_acct_emp t
LEFT JOIN hrmresource e ON e.id = t.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE delete_type = 0
AND salary_acct_record_id IN
<foreach collection="lastMonSalaryAcctRecordIds" item="salaryAcctRecordId" open="(" separator="," close=")">
@ -904,59 +662,21 @@
WHERE delete_type = 0
AND salary_acct_record_id = #{param.salaryAcctRecordId}
)
<if test="param.ids != null and param.ids.size()>0">
AND id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
<include refid="SalaryAcctEmployeeParamSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
<if test="param.taxAgentId != null">
AND tax_agent_id = #{param.taxAgentId}
</if>
<if test="(param.employeeName != null and param.employeeName != '')
or (param.departmentIds != null and param.departmentIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.status != null and param.status.toString != 'ALL')">
AND employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
<if test="param.employeeName != null and param.employeeName != ''">
AND em.lastname LIKE '%'||#{param.employeeName}||'%'
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND em.departmentid IN
<foreach collection="param.departmentIds" open="(" item="departmentId" separator="," close=")">
#{departmentId}
</foreach>
</if>
<if test="param.positionIds != null and param.positionIds.size()>0">
AND em.jobtitle IN
<foreach collection="param.positionIds" open="(" item="positionId" separator="," close=")">
#{positionId}
</foreach>
</if>
-- 在职
<if test="param.status != null and param.status.toString == 'NORMAL'">
AND em.status in (0,1,2,3)
</if>
-- 离职
<if test="param.status != null and param.status.toString == 'UNAVAILABLE'">
AND em.status in (4,5,6)
</if>
)
</if>
ORDER BY id DESC
</select>
<select id="listPage4Reduce" resultMap="SalaryAccEmployeeMap" databaseId="sqlserver">
SELECT
id, salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
creator, create_time, update_time, delete_type, tenant_key
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp
FROM hrsa_salary_acct_emp t
LEFT JOIN hrmresource e ON e.id = t.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE delete_type = 0
AND salary_acct_record_id IN
<foreach collection="lastMonSalaryAcctRecordIds" item="salaryAcctRecordId" open="(" separator="," close=")">
@ -969,51 +689,11 @@
WHERE delete_type = 0
AND salary_acct_record_id = #{param.salaryAcctRecordId}
)
<if test="param.ids != null and param.ids.size()>0">
AND id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
<include refid="SalaryAcctEmployeeParamSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
<if test="param.taxAgentId != null">
AND tax_agent_id = #{param.taxAgentId}
</if>
<if test="(param.employeeName != null and param.employeeName != '')
or (param.departmentIds != null and param.departmentIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.status != null and param.status.toString != 'ALL')">
AND employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
<if test="param.employeeName != null and param.employeeName != ''">
AND em.lastname LIKE '%'+#{param.employeeName}+'%'
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND em.departmentid IN
<foreach collection="param.departmentIds" open="(" item="departmentId" separator="," close=")">
#{departmentId}
</foreach>
</if>
<if test="param.positionIds != null and param.positionIds.size()>0">
AND em.jobtitle IN
<foreach collection="param.positionIds" open="(" item="positionId" separator="," close=")">
#{positionId}
</foreach>
</if>
-- 在职
<if test="param.status != null and param.status.toString == 'NORMAL'">
AND em.status in (0,1,2,3)
</if>
-- 离职
<if test="param.status != null and param.status.toString == 'UNAVAILABLE'">
AND em.status in (4,5,6)
</if>
)
</if>
ORDER BY id DESC
</select>
<select id="list4Reduce" resultMap="SalaryAccEmployeeMap">
@ -1037,10 +717,7 @@
</select>
<select id="list4Reduce" resultMap="SalaryAccEmployeeMap" databaseId="oracle">
SELECT
id, salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
creator, create_time, update_time, delete_type, tenant_key
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp
WHERE delete_type = 0
AND salary_acct_record_id IN
@ -1054,58 +731,12 @@
WHERE delete_type = 0
AND salary_acct_record_id = #{param.salaryAccountingId}
)
<if test="param.ids != null and param.ids.size()>0">
AND id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.taxAgentId != null">
AND tax_agent_id = #{param.taxAgentId}
</if>
<if test="(param.employeeName != null and param.employeeName != '')
or (param.departmentIds != null and param.departmentIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.status != null and param.status.toString != 'ALL')">
AND employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
<if test="param.employeeName != null and param.employeeName != ''">
AND em.lastname LIKE '%'||#{param.employeeName}||'%'
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND em.departmentid IN
<foreach collection="param.departmentIds" open="(" item="departmentId" separator="," close=")">
#{departmentId}
</foreach>
</if>
<if test="param.positionIds != null and param.positionIds.size()>0">
AND em.jobtitle IN
<foreach collection="param.positionIds" open="(" item="positionId" separator="," close=")">
#{positionId}
</foreach>
</if>
-- 在职
<if test="param.status != null and param.status.toString == 'NORMAL'">
AND em.status in (0,1,2,3)
</if>
-- 离职
<if test="param.status != null and param.status.toString == 'UNAVAILABLE'">
AND em.status in (4,5,6)
</if>
)
</if>
<include refid="SalaryAcctEmployeeParamSql"/>
ORDER BY id DESC
</select>
<select id="list4Reduce" resultMap="SalaryAccEmployeeMap" databaseId="sqlserver">
SELECT
id, salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
creator, create_time, update_time, delete_type, tenant_key
<include refid="SalaryAccEmployeeColumn"/>
FROM hrsa_salary_acct_emp
WHERE delete_type = 0
AND salary_acct_record_id IN
@ -1119,50 +750,7 @@
WHERE AND delete_type = 0
AND salary_acct_record_id = #{param.salaryAccountingId}
)
<if test="param.ids != null and param.ids.size()>0">
AND id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.taxAgentId != null">
AND tax_agent_id = #{param.taxAgentId}
</if>
<if test="(param.employeeName != null and param.employeeName != '')
or (param.departmentIds != null and param.departmentIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.status != null and param.status.toString != 'ALL')">
AND employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
<if test="param.employeeName != null and param.employeeName != ''">
AND em.lastname LIKE '%'+#{param.employeeName}+'%'
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND em.departmentid IN
<foreach collection="param.departmentIds" open="(" item="departmentId" separator="," close=")">
#{departmentId}
</foreach>
</if>
<if test="param.positionIds != null and param.positionIds.size()>0">
AND em.jobtitle IN
<foreach collection="param.positionIds" open="(" item="positionId" separator="," close=")">
#{positionId}
</foreach>
</if>
-- 在职
<if test="param.status != null and param.status.toString == 'NORMAL'">
AND em.status in (0,1,2,3)
</if>
-- 离职
<if test="param.status != null and param.status.toString == 'UNAVAILABLE'">
AND em.status in (4,5,6)
</if>
)
</if>
<include refid="SalaryAcctEmployeeParamSql"/>
ORDER BY id DESC
</select>

View File

@ -7,18 +7,19 @@ import com.engine.salary.entity.salaryBill.param.SalaryBillQueryParam;
import com.engine.salary.entity.salaryBill.param.SalarySendDetailQueryParam;
import com.engine.salary.entity.salaryBill.param.SalarySendInfoQueryParam;
import com.engine.salary.entity.salaryBill.po.SalarySendInfoPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Collection;
import java.util.List;
/**
* @Description: 工资单发放信息
* @Author: wangxiangzhong
* @Date: 2021-12-11 11:29
*/
* 工资单发放信息
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
public interface SalarySendInfoMapper {
/**

View File

@ -310,6 +310,7 @@
hrsa_salary_send_info t1
LEFT JOIN hrmresource e ON e.id = t1.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.DEPARTMENTID
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
LEFT JOIN hrsa_tax_agent t2 ON t2.id = t1.tax_agent_id
WHERE
t1.delete_type = 0
@ -319,7 +320,10 @@
AND t1.send_status = #{param.sendStatusVal}
</if>
<include refid="paramSql"/>
ORDER BY t1.id DESC
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="list" resultType="com.engine.salary.entity.salaryBill.dto.SalarySendInfoListDTO" databaseId="oracle">
SELECT
@ -330,67 +334,19 @@
hrsa_salary_send_info t1
LEFT JOIN hrmresource e ON e.id = t1.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.DEPARTMENTID
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
LEFT JOIN hrsa_tax_agent t2 ON t2.id = t1.tax_agent_id
WHERE
t1.delete_type = 0
<if test="param.sendStatusVal != null">
AND t1.send_status = #{param.sendStatusVal}
</if>
<if test="param.ids != null and param.ids.size()>0">
AND t1.id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.salarySendId != null">
AND t1.salary_send_id = #{param.salarySendId}
</if>
<if test="param.keyword != null and param.keyword != ''">
AND e.lastname like '%'||#{param.keyword}||'%'
</if>
<if test="param.username != null and param.username != ''">
AND e.lastname like '%'||#{param.username}||'%'
</if>
<if test="param.taxAgentId != null">
AND t2.id = #{param.taxAgentId}
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND d.id IN
<foreach collection="param.departmentIds" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.positionIds != null and param.positionIds.size()>0">
AND e.position IN
<foreach collection="param.positionIds" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.userstatus != null and param.userstatus != ''">
AND e.status = #{param.userstatus}
</if>
<if test="param.sendStatuss != null and param.sendStatuss.size() > 0">
AND t1.send_status IN
<foreach collection="param.sendStatuss" open="(" item="status" separator="," close=")">
#{status}
</foreach>
</if>
<if test="param.hiredate != null and param.hiredate.size() == 2">
AND (e.hiredate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
</if>
ORDER BY t1.id DESC
</if>
<include refid="paramSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="list" resultType="com.engine.salary.entity.salaryBill.dto.SalarySendInfoListDTO" databaseId="sqlserver">
SELECT
@ -401,66 +357,19 @@
hrsa_salary_send_info t1
LEFT JOIN hrmresource e ON e.id = t1.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.DEPARTMENTID
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
LEFT JOIN hrsa_tax_agent t2 ON t2.id = t1.tax_agent_id
WHERE
t1.delete_type = 0
<if test="param.sendStatusVal != null">
AND t1.send_status = #{param.sendStatusVal}
</if>
<if test="param.ids != null and param.ids.size()>0">
AND t1.id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.salarySendId != null">
AND t1.salary_send_id = #{param.salarySendId}
</if>
<if test="param.keyword != null and param.keyword != ''">
AND e.lastname like '%'+#{param.keyword}+'%'
</if>
<if test="param.username != null and param.username != ''">
AND e.lastname like '%'+#{param.username}+'%'
</if>
<if test="param.taxAgentId != null">
AND t2.id = #{param.taxAgentId}
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND d.id IN
<foreach collection="param.departmentIds" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.positionIds != null and param.positionIds.size()>0">
AND e.position IN
<foreach collection="param.positionIds" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.userstatus != null and param.userstatus != ''">
AND e.status = #{param.userstatus}
</if>
<if test="param.sendStatuss != null and param.sendStatuss.size() > 0">
AND t1.send_status IN
<foreach collection="param.sendStatuss" open="(" item="status" separator="," close=")">
#{status}
</foreach>
</if>
<if test="param.hiredate != null and param.hiredate.size() == 2">
AND (e.hiredate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
</if>
ORDER BY t1.id DESC
</if>
<include refid="paramSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="detailList" resultType="com.engine.salary.entity.salaryBill.dto.SalarySendDetailListDTO">
@ -470,6 +379,7 @@
hrsa_salary_send_info t1
LEFT JOIN hrmresource e ON e.id = t1.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.DEPARTMENTID
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
LEFT JOIN hrsa_tax_agent t2 ON t2.id = t1.tax_agent_id
WHERE
t1.delete_type = 0
@ -478,7 +388,10 @@
</if>
<include refid="paramSql"/>
ORDER BY t1.id DESC
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="detailList" resultType="com.engine.salary.entity.salaryBill.dto.SalarySendDetailListDTO" databaseId="oracle">
SELECT
@ -487,68 +400,18 @@
hrsa_salary_send_info t1
LEFT JOIN hrmresource e ON e.id = t1.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.DEPARTMENTID
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
LEFT JOIN hrsa_tax_agent t2 ON t2.id = t1.tax_agent_id
WHERE
t1.delete_type = 0
<if test="param.mergeCountTax != null">
<if test="param.mergeCountTax != null">
</if>
<if test="param.ids != null and param.ids.size()>0">
AND t1.id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.salarySendId != null">
AND t1.salary_send_id = #{param.salarySendId}
</if>
<if test="param.keyword != null and param.keyword != ''">
AND e.lastname like '%'||#{param.keyword}||'%'
</if>
<if test="param.username != null and param.username != ''">
AND e.lastname like '%'||#{param.username}||'%'
</if>
<if test="param.taxAgentId != null">
AND t2.id = #{param.taxAgentId}
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND d.id IN
<foreach collection="param.departmentIds" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.positionIds != null and param.positionIds.size()>0">
AND e.position IN
<foreach collection="param.positionIds" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.userstatus != null and param.userstatus != ''">
AND e.status = #{param.userstatus}
</if>
<if test="param.sendStatuss != null and param.sendStatuss.size() > 0">
AND t1.send_status IN
<foreach collection="param.sendStatuss" open="(" item="status" separator="," close=")">
#{status}
</foreach>
</if>
<if test="param.hiredate != null and param.hiredate.size() == 2">
AND (e.hiredate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
</if>
ORDER BY t1.id DESC
</if>
<include refid="paramSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="detailList" resultType="com.engine.salary.entity.salaryBill.dto.SalarySendDetailListDTO" databaseId="sqlserver">
SELECT
@ -557,67 +420,18 @@
hrsa_salary_send_info t1
LEFT JOIN hrmresource e ON e.id = t1.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.DEPARTMENTID
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
LEFT JOIN hrsa_tax_agent t2 ON t2.id = t1.tax_agent_id
WHERE
t1.delete_type = 0
<if test="param.mergeCountTax != null">
</if>
<if test="param.ids != null and param.ids.size()>0">
AND t1.id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.salarySendId != null">
AND t1.salary_send_id = #{param.salarySendId}
</if>
<if test="param.keyword != null and param.keyword != ''">
AND e.lastname like '%'+#{param.keyword}+'%'
</if>
<if test="param.username != null and param.username != ''">
AND e.lastname like '%'+#{param.username}+'%'
</if>
<if test="param.taxAgentId != null">
AND t2.id = #{param.taxAgentId}
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND d.id IN
<foreach collection="param.departmentIds" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.positionIds != null and param.positionIds.size()>0">
AND e.position IN
<foreach collection="param.positionIds" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.userstatus != null and param.userstatus != ''">
AND e.status = #{param.userstatus}
</if>
<if test="param.sendStatuss != null and param.sendStatuss.size() > 0">
AND t1.send_status IN
<foreach collection="param.sendStatuss" open="(" item="status" separator="," close=")">
#{status}
</foreach>
</if>
<if test="param.hiredate != null and param.hiredate.size() == 2">
AND (e.hiredate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
</if>
ORDER BY t1.id DESC
</if>
<include refid="paramSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="mySalaryBillList" resultType="com.engine.salary.entity.salaryBill.dto.SalaryMySalaryBillListDTO">

View File

@ -145,14 +145,18 @@
<include refid="baseColumns"/>
FROM
hrsa_bill_detail t
left join hrmresource e
on e.ID = t.employee_id
left join hrmresource e on e.ID = t.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE t.delete_type = 0
and e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSqlCommon"/>
<include refid="paramSql"/>
ORDER BY t.update_time DESC
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="selectList" resultMap="BaseResultMap">

View File

@ -292,77 +292,25 @@
<select id="queryEmployeeList" resultType="com.engine.salary.entity.siarchives.po.InsuranceArchivesEmployeePO">
<!-- <![CDATA[-->
SELECT
a.employeeId,
a.userName,
a.departmentId,
a.jobNum,
a.telephone,
a.departmentName,
a.position,
a.userStatus,
a.hiredate,
l.dimissionDate,
SELECT e.ID AS employeeId, e.lastname AS userName, e.departmentid AS departmentId, e.workcode AS jobNum, e.MOBILE AS telephone,
d.departmentname AS departmentName, e.jobtitle AS position, e.STATUS AS userStatus,e.companystartdate AS hiredate,
e.enddate as dimissionDate,
social.siSchemeId,
social.paymentOrganization,
fund.fundSchemeId,
other.otherSchemeId
FROM
(
SELECT
e.lastname AS userName,
e.workcode AS jobNum,
e.departmentid AS departmentId,
d.departmentname AS departmentName,
e.STATUS AS userStatus,
e.jobtitle AS position,
e.companystartdate AS hiredate,
e.ID AS employeeId,
e.MOBILE AS telephone
FROM
hrmresource e
FROM hrmresource e
LEFT JOIN hrmdepartment d ON e.departmentid = d.ID
where e.accounttype is null or e.accounttype = 0
)a
LEFT JOIN(
SELECT
log.resource_n,
log.dismissdate AS dimissionDate
FROM
bill_hrmdismiss log
)l ON a.employeeId = l.resource_n
LEFT JOIN(
SELECT
social.employee_id,
social.social_scheme_id AS siSchemeId,
social.payment_organization AS paymentOrganization
FROM
hrsa_social_archives social
WHERE social.delete_type = 0
)social ON a.employeeId = social.employee_id
LEFT JOIN(
SELECT
fund.employee_id,
fund.fund_scheme_id AS fundSchemeId
FROM
hrsa_fund_archives fund
WHERE fund.delete_type = 0
)fund ON a.employeeId = fund.employee_id
LEFT JOIN(
SELECT
other.employee_id,
other.other_scheme_id AS otherSchemeId
FROM
hrsa_other_archives other
WHERE other.delete_type = 0
)other ON a.employeeId = other.employee_id
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
LEFT JOIN( SELECT social.employee_id, social.social_scheme_id AS siSchemeId, social.payment_organization AS paymentOrganization FROM hrsa_social_archives social WHERE social.delete_type = 0 )social ON e.id = social.employee_id
LEFT JOIN( SELECT fund.employee_id, fund.fund_scheme_id AS fundSchemeId FROM hrsa_fund_archives fund WHERE fund.delete_type = 0 )fund ON e.id = fund.employee_id
LEFT JOIN( SELECT other.employee_id, other.other_scheme_id AS otherSchemeId FROM hrsa_other_archives other WHERE other.delete_type = 0 )other ON e.id = other.employee_id
WHERE
1=1
<include refid="condition"></include>
<!-- <if test="param.startNum != null and param.pageSize != null">-->
<!-- limit #{param.startNum},#{param.pageSize}-->
<!-- </if>-->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<!--]]>-->
@ -371,44 +319,44 @@
<if test="param.keyword != null and param.keyword != ''">
AND
(
userName like CONCAT('%',#{param.keyword},'%')
e.lastname like CONCAT('%',#{param.keyword},'%')
)
</if>
<if test="param.userName != null and param.userName != ''">
AND userName like CONCAT('%',#{param.userName},'%')
AND e.lastname like CONCAT('%',#{param.userName},'%')
</if>
<if test="param.jobNum != null and param.jobNum != ''">
AND jobNum = #{param.jobNum}
AND e.workcode = #{param.jobNum}
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND departmentId IN
AND e.departmentid IN
<foreach collection="param.departmentIds" open="(" item="departmentId" separator="," close=")">
#{departmentId}
</foreach>
</if>
<if test="param.statuses != null and param.statuses.size()>0">
AND userStatus IN
AND e.STATUS IN
<foreach collection="param.statuses" open="(" item="userStatus" separator="," close=")">
#{userStatus}
</foreach>
</if>
<if test="param.positions != null and param.positions.size()>0">
AND position IN
AND e.jobtitle IN
<foreach collection="param.positions" open="(" item="position" separator="," close=")">
#{position}
</foreach>
</if>
<if test="param.hiredateStart != null">
AND hiredate &gt; #{param.hiredateStart}
AND e.companystartdate &gt; #{param.hiredateStart}
</if>
<if test="param.hiredateEnd != null">
AND hiredate &lt; #{param.hiredateEnd}
AND e.companystartdate &lt; #{param.hiredateEnd}
</if>
<if test="param.dimissionDateStart != null">
AND dimissionDate &gt; #{param.dimissionDateStart}
AND e.enddate &gt; #{param.dimissionDateStart}
</if>
<if test="param.dimissionDateEnd != null">
AND dimissionDate &lt; #{param.dimissionDateEnd}
AND e.enddate &lt; #{param.dimissionDateEnd}
</if>
<if test="param.siSchemeId != null and param.siSchemeId != 0">
AND siSchemeId = #{param.siSchemeId}
@ -420,7 +368,7 @@
AND otherSchemeId = #{param.otherSchemeId}
</if>
<if test="param.employeeIds != null and param.employeeIds.size() > 0">
AND employeeId IN
AND e.ID IN
<foreach collection="param.employeeIds" open="(" separator="," item="item" close=")">
#{item}
</foreach>
@ -431,44 +379,44 @@
<if test="param.keyword != null and param.keyword != ''">
AND
(
userName like '%'+#{param.keyword}+'%'
e.lastname like '%'+#{param.keyword}+'%'
)
</if>
<if test="param.userName != null and param.userName != ''">
AND userName like '%'+#{param.userName}+'%'
AND e.lastname like '%'+#{param.userName}+'%'
</if>
<if test="param.jobNum != null and param.jobNum != ''">
AND jobNum = #{param.jobNum}
AND e.workcode = #{param.jobNum}
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND departmentId IN
AND e.departmentid IN
<foreach collection="param.departmentIds" open="(" item="departmentId" separator="," close=")">
#{departmentId}
</foreach>
</if>
<if test="param.statuses != null and param.statuses.size()>0">
AND userStatus IN
AND e.STATUS IN
<foreach collection="param.statuses" open="(" item="userStatus" separator="," close=")">
#{userStatus}
</foreach>
</if>
<if test="param.positions != null and param.positions.size()>0">
AND position IN
AND e.jobtitle IN
<foreach collection="param.positions" open="(" item="position" separator="," close=")">
#{position}
</foreach>
</if>
<if test="param.hiredateStart != null">
AND hiredate &gt; #{param.hiredateStart}
AND e.companystartdate &gt; #{param.hiredateStart}
</if>
<if test="param.hiredateEnd != null">
AND hiredate &lt; #{param.hiredateEnd}
AND e.companystartdate &lt; #{param.hiredateEnd}
</if>
<if test="param.dimissionDateStart != null">
AND dimissionDate &gt; #{param.dimissionDateStart}
AND e.enddate &gt; #{param.dimissionDateStart}
</if>
<if test="param.dimissionDateEnd != null">
AND dimissionDate &lt; #{param.dimissionDateEnd}
AND e.enddate &lt; #{param.dimissionDateEnd}
</if>
<if test="param.siSchemeId != null and param.siSchemeId != 0">
AND siSchemeId = #{param.siSchemeId}
@ -480,7 +428,7 @@
AND otherSchemeId = #{param.otherSchemeId}
</if>
<if test="param.employeeIds != null and param.employeeIds.size() > 0">
AND employeeId IN
AND e.ID IN
<foreach collection="param.employeeIds" open="(" separator="," item="item" close=")">
#{item}
</foreach>
@ -492,44 +440,44 @@
<if test="param.keyword != null and param.keyword != ''">
AND
(
userName like '%'||#{param.keyword}||'%'
e.lastname like '%'||#{param.keyword}||'%'
)
</if>
<if test="param.userName != null and param.userName != ''">
AND userName like '%'||#{param.userName}||'%'
AND e.lastname like '%'||#{param.userName}||'%'
</if>
<if test="param.jobNum != null and param.jobNum != ''">
AND jobNum = #{param.jobNum}
AND e.workcode = #{param.jobNum}
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND departmentId IN
AND e.departmentid IN
<foreach collection="param.departmentIds" open="(" item="departmentId" separator="," close=")">
#{departmentId}
</foreach>
</if>
<if test="param.statuses != null and param.statuses.size()>0">
AND userStatus IN
AND e.STATUS IN
<foreach collection="param.statuses" open="(" item="userStatus" separator="," close=")">
#{userStatus}
</foreach>
</if>
<if test="param.positions != null and param.positions.size()>0">
AND position IN
AND e.jobtitle IN
<foreach collection="param.positions" open="(" item="position" separator="," close=")">
#{position}
</foreach>
</if>
<if test="param.hiredateStart != null">
AND hiredate &gt; #{param.hiredateStart}
AND e.companystartdate &gt; #{param.hiredateStart}
</if>
<if test="param.hiredateEnd != null">
AND hiredate &lt; #{param.hiredateEnd}
AND e.companystartdate &lt; #{param.hiredateEnd}
</if>
<if test="param.dimissionDateStart != null">
AND dimissionDate &gt; #{param.dimissionDateStart}
AND e.enddate &gt; #{param.dimissionDateStart}
</if>
<if test="param.dimissionDateEnd != null">
AND dimissionDate &lt; #{param.dimissionDateEnd}
AND e.enddate &lt; #{param.dimissionDateEnd}
</if>
<if test="param.siSchemeId != null and param.siSchemeId != 0">
AND siSchemeId = #{param.siSchemeId}
@ -541,7 +489,7 @@
AND otherSchemeId = #{param.otherSchemeId}
</if>
<if test="param.employeeIds != null and param.employeeIds.size() > 0">
AND employeeId IN
AND e.ID IN
<foreach collection="param.employeeIds" open="(" separator="," item="item" close=")">
#{item}
</foreach>

View File

@ -1,8 +1,8 @@
package com.engine.salary.mapper.taxdeclaration;
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationEmployeeDTO;
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailListQueryParam;
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationDetailPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Collection;
@ -15,10 +15,10 @@ public interface TaxDeclarationDetailMapper {
/**
* 分页查询人员id
*
* @param taxDeclarationId
* @param param
* @return
*/
List<TaxDeclarationEmployeeDTO> listPage4EmployeeId(@Param("taxDeclarationId") Long taxDeclarationId);
List<TaxDeclarationEmployeeDTO> listPage4EmployeeId(@Param("param") TaxDeclarationDetailListQueryParam param);
/**
* 查询人员id

View File

@ -40,9 +40,15 @@
<select id="listPage4EmployeeId" resultMap="resultMap">
SELECT DISTINCT employee_type, employee_id
FROM hrsa_tax_declaration_detail
FROM hrsa_tax_declaration_detail t
LEFT JOIN hrmresource e ON e.id = t.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.DEPARTMENTID
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE delete_type = 0
AND tax_declaration_id = #{taxDeclarationId}
AND tax_declaration_id = #{param.taxDeclarationId}
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
</if>
</select>
<select id="list4EmployeeId" resultMap="resultMap">

View File

@ -62,6 +62,9 @@
<if test="taxAgentId != null">
AND tax_agent_id = #{taxAgentId}
</if>
<if test="taxCycle != null">
AND tax_cycle = #{taxCycle}
</if>
ORDER BY id DESC
</select>
<insert id="batchInsert">

View File

@ -73,6 +73,13 @@ public interface SalaryAcctResultService {
*/
PageInfo<Map<String, Object>> listPageByParam(SalaryAcctResultQueryParam queryParam);
/**
* 合计行
* @param queryParam
* @return
*/
Map<String, Object> sumRow(SalaryAcctResultQueryParam queryParam);
/**
* 根据薪资核算结果列表查询条件查询薪资核算结果
*

View File

@ -2,7 +2,6 @@ package com.engine.salary.service.impl;
import com.api.browser.bean.SearchConditionGroup;
import com.api.browser.bean.SearchConditionItem;
import com.api.browser.bean.SearchConditionOption;
import com.api.browser.util.ConditionFactory;
import com.api.browser.util.ConditionType;
import com.api.formmode.mybatis.util.SqlProxyHandle;
@ -32,6 +31,9 @@ import com.engine.salary.mapper.datacollection.AddUpDeductionMapper;
import com.engine.salary.mapper.sys.SalarySysConfMapper;
import com.engine.salary.service.*;
import com.engine.salary.sys.entity.po.SalarySysConfPO;
import com.engine.salary.sys.entity.vo.OrderRuleVO;
import com.engine.salary.sys.service.SalarySysConfService;
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.SalaryDateUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.db.MapperProxyFactory;
@ -50,7 +52,6 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import weaver.file.ImageFileManager;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.io.InputStream;
import java.text.SimpleDateFormat;
@ -94,6 +95,9 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction
return SqlProxyHandle.getProxy(SalarySysConfMapper.class);
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
@Override
public Map<String, Object> getSearchCondition(Map<String, Object> params) {
@ -137,37 +141,37 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction
conditionItems.add(jobNum);
SearchConditionItem idNo = conditionFactory.createCondition(ConditionType.INPUT, 25034, "idNo");
idNo.setInputType("input");
idNo.setColSpan(2);
idNo.setFieldcol(16);
idNo.setLabelcol(8);
idNo.setViewAttr(2);
idNo.setLabel("证件号码");
conditionItems.add(idNo);
// SearchConditionItem idNo = conditionFactory.createCondition(ConditionType.INPUT, 25034, "idNo");
// idNo.setInputType("input");
// idNo.setColSpan(2);
// idNo.setFieldcol(16);
// idNo.setLabelcol(8);
// idNo.setViewAttr(2);
// idNo.setLabel("证件号码");
// conditionItems.add(idNo);
//日期范围选项
List<SearchConditionOption> dateOptions = new ArrayList<SearchConditionOption>();
dateOptions.add(new SearchConditionOption("6", SystemEnv.getHtmlLabelName(32530, user.getLanguage()), true));//指定日期范围(必须为6)
SearchConditionItem hiredate = conditionFactory.createCondition(ConditionType.RANGEPICKER, 18648, new String[]{"hiredate", "hiredate"});
hiredate.setInputType("rangepicker");
hiredate.setFormat("yyyy-MM-dd");
hiredate.setFieldcol(16);
hiredate.setLabelcol(8);
hiredate.setViewAttr(2);
hiredate.setLabel("入职日期");
hiredate.setOptions(dateOptions);
conditionItems.add(hiredate);
// List<SearchConditionOption> dateOptions = new ArrayList<SearchConditionOption>();
// dateOptions.add(new SearchConditionOption("6", SystemEnv.getHtmlLabelName(32530, user.getLanguage()), true));//指定日期范围(必须为6)
// SearchConditionItem hiredate = conditionFactory.createCondition(ConditionType.RANGEPICKER, 18648, new String[]{"hiredate", "hiredate"});
// hiredate.setInputType("rangepicker");
// hiredate.setFormat("yyyy-MM-dd");
// hiredate.setFieldcol(16);
// hiredate.setLabelcol(8);
// hiredate.setViewAttr(2);
// hiredate.setLabel("入职日期");
// hiredate.setOptions(dateOptions);
// conditionItems.add(hiredate);
SearchConditionItem mobile = conditionFactory.createCondition(ConditionType.INPUT, 25034, "mobile");
mobile.setInputType("input");
mobile.setColSpan(2);
mobile.setFieldcol(16);
mobile.setLabelcol(8);
mobile.setViewAttr(2);
mobile.setLabel("手机号");
conditionItems.add(mobile);
//
// SearchConditionItem mobile = conditionFactory.createCondition(ConditionType.INPUT, 25034, "mobile");
// mobile.setInputType("input");
// mobile.setColSpan(2);
// mobile.setFieldcol(16);
// mobile.setLabelcol(8);
// mobile.setViewAttr(2);
// mobile.setLabel("手机号");
// conditionItems.add(mobile);
addGroups.add(new SearchConditionGroup("常用条件", true, conditionItems));
@ -455,6 +459,10 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction
queryParam.setTaxAgentIds(taxAgentIdsAsAdmin);
}
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule);
SalaryPageUtil.start(queryParam.getCurrent(), queryParam.getPageSize());
List<AddUpDeductionDTO> list = getAddUpDeductionMapper().list(queryParam);
AddUpDeductionStrDTOEncrypt.decryptAddUpDeductionList(list);
@ -666,16 +674,16 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction
for(AddUpDeductionDTO dto : list) {
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("username", dto.getUsername());
resultMap.put("departmentName", dto.getDepartmentName());
resultMap.put("mobile", dto.getMobile());
resultMap.put("workcode", dto.getJobNum());
resultMap.put("taxAgentName", dto.getTaxAgentName());
resultMap.put("username", Util.null2String(dto.getUsername()));
resultMap.put("departmentName", Util.null2String(dto.getDepartmentName()));
resultMap.put("mobile", Util.null2String(dto.getMobile()));
resultMap.put("workcode", Util.null2String(dto.getJobNum()));
resultMap.put("taxAgentName", Util.null2String(dto.getTaxAgentName()));
if (dto.getIdNo() != null) {
resultMap.put("idNo", dto.getIdNo());
resultMap.put("idNo", Util.null2String(dto.getIdNo()));
}
if (dto.getHiredate() != null) {
resultMap.put("hiredate", dto.getHiredate());
resultMap.put("hiredate", Util.null2String(dto.getHiredate()));
}
resultList.add(resultMap);
@ -706,6 +714,11 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction
//excel标题
List<String> title = Arrays.asList("姓名", "个税扣缴义务人", "部门", "手机号", "工号", "证件号码", "入职日期", "累计子女教育", "累计继续教育", "累计住房贷款利息", "累计住房租金", "累计赡养老人", "累计大病医疗", "累计婴幼儿照护");
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
param.setOrderRule(orderRule);
List<AddUpDeductionDTO> list = new AddUpDeductionBiz().list(param);
// 开启分权并且不是薪酬模块总管理员

View File

@ -2,7 +2,6 @@ package com.engine.salary.service.impl;
import com.api.browser.bean.SearchConditionGroup;
import com.api.browser.bean.SearchConditionItem;
import com.api.browser.bean.SearchConditionOption;
import com.api.browser.util.ConditionFactory;
import com.api.browser.util.ConditionType;
import com.api.formmode.mybatis.util.SqlProxyHandle;
@ -25,8 +24,14 @@ import com.engine.salary.enums.UserStatusEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.datacollection.AddUpSituationMapper;
import com.engine.salary.mapper.sys.SalarySysConfMapper;
import com.engine.salary.service.*;
import com.engine.salary.service.AddUpDeductionService;
import com.engine.salary.service.AddUpSituationService;
import com.engine.salary.service.SalaryEmployeeService;
import com.engine.salary.service.TaxAgentService;
import com.engine.salary.sys.entity.po.SalarySysConfPO;
import com.engine.salary.sys.entity.vo.OrderRuleVO;
import com.engine.salary.sys.service.SalarySysConfService;
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;
@ -45,7 +50,6 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import weaver.file.ImageFileManager;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.io.InputStream;
import java.text.SimpleDateFormat;
@ -74,6 +78,10 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
AddUpSituationBiz biz = new AddUpSituationBiz();
private SalarySysConfMapper getSalarySysConfMapper() {
@ -122,37 +130,37 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation
conditionItems.add(jobNum);
SearchConditionItem idNo = conditionFactory.createCondition(ConditionType.INPUT, 25034, "idNo");
idNo.setInputType("input");
idNo.setColSpan(2);
idNo.setFieldcol(16);
idNo.setLabelcol(8);
idNo.setViewAttr(2);
idNo.setLabel("证件号码");
conditionItems.add(idNo);
//日期范围选项
List<SearchConditionOption> dateOptions = new ArrayList<SearchConditionOption>();
dateOptions.add(new SearchConditionOption("6", SystemEnv.getHtmlLabelName(32530, user.getLanguage()), true));//指定日期范围(必须为6)
SearchConditionItem hiredate = conditionFactory.createCondition(ConditionType.RANGEPICKER, 18648, new String[]{"hiredate", "hiredate"});
hiredate.setInputType("rangepicker");
hiredate.setFormat("yyyy-MM-dd");
hiredate.setFieldcol(16);
hiredate.setLabelcol(8);
hiredate.setViewAttr(2);
hiredate.setLabel("入职日期");
hiredate.setOptions(dateOptions);
conditionItems.add(hiredate);
SearchConditionItem mobile = conditionFactory.createCondition(ConditionType.INPUT, 25034, "mobile");
mobile.setInputType("input");
mobile.setColSpan(2);
mobile.setFieldcol(16);
mobile.setLabelcol(8);
mobile.setViewAttr(2);
mobile.setLabel("手机号");
conditionItems.add(mobile);
// SearchConditionItem idNo = conditionFactory.createCondition(ConditionType.INPUT, 25034, "idNo");
// idNo.setInputType("input");
// idNo.setColSpan(2);
// idNo.setFieldcol(16);
// idNo.setLabelcol(8);
// idNo.setViewAttr(2);
// idNo.setLabel("证件号码");
// conditionItems.add(idNo);
//
// //日期范围选项
// List<SearchConditionOption> dateOptions = new ArrayList<SearchConditionOption>();
// dateOptions.add(new SearchConditionOption("6", SystemEnv.getHtmlLabelName(32530, user.getLanguage()), true));//指定日期范围(必须为6)
// SearchConditionItem hiredate = conditionFactory.createCondition(ConditionType.RANGEPICKER, 18648, new String[]{"hiredate", "hiredate"});
// hiredate.setInputType("rangepicker");
// hiredate.setFormat("yyyy-MM-dd");
// hiredate.setFieldcol(16);
// hiredate.setLabelcol(8);
// hiredate.setViewAttr(2);
// hiredate.setLabel("入职日期");
// hiredate.setOptions(dateOptions);
// conditionItems.add(hiredate);
//
//
// SearchConditionItem mobile = conditionFactory.createCondition(ConditionType.INPUT, 25034, "mobile");
// mobile.setInputType("input");
// mobile.setColSpan(2);
// mobile.setFieldcol(16);
// mobile.setLabelcol(8);
// mobile.setViewAttr(2);
// mobile.setLabel("手机号");
// conditionItems.add(mobile);
addGroups.add(new SearchConditionGroup("常用条件", true, conditionItems));
@ -175,6 +183,9 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation
queryParam.setTaxYearMonth(taxYearMonth.stream().map(e -> e + "-01 00:00:00").collect(Collectors.toList()));
queryParam.setTaxYearMonthDate(taxYearMonth.stream().map(e -> e + "-01 00:00:00").map(SalaryDateUtil::dateStrToLocalTime).collect(Collectors.toList()));
}
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule);
long employeeId = user.getUID();
@ -262,7 +273,9 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation
"累计社保个人合计", "累计公积金个人合计", "累计子女教育", "累计继续教育", "累计住房贷款利息", "累计住房租金", "累计赡养老人",
"累计大病医疗", "累计企业(职业)年金及其他福利", "累计其他扣除", "累计免税收入", "累计准予扣除的捐赠额", "累计减免税额", "累计已预扣预缴税额", "累计婴幼儿照护");
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
param.setOrderRule(orderRule);
List<AddUpSituationDTO> list = biz.list(param);
// 开启分权并且不是薪酬模块总管理员
if (getTaxAgentService(user).isOpenDevolution() && !getTaxAgentService(user).isChief(employeeId)) {

View File

@ -33,6 +33,9 @@ import com.engine.salary.remote.attend.service.RemoteAttend4SalaryService;
import com.engine.salary.remote.attend.service.impl.RemoteAttend4SalaryServiceImpl;
import com.engine.salary.service.*;
import com.engine.salary.sys.entity.po.SalarySysConfPO;
import com.engine.salary.sys.entity.vo.OrderRuleVO;
import com.engine.salary.sys.service.SalarySysConfService;
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.SalaryDateUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.db.MapperProxyFactory;
@ -82,11 +85,15 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa
private EmployBiz employeeBiz = new EmployBiz();
private AttendQuoteFieldSettingService getFieldSettingService(User user) {
return (AttendQuoteFieldSettingService) ServiceUtil.getService(AttendQuoteFieldSettingServiceImpl.class, user);
return ServiceUtil.getService(AttendQuoteFieldSettingServiceImpl.class, user);
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
private SalarySobService getSalarySobService(User user) {
return (SalarySobService) ServiceUtil.getService(SalarySobServiceImpl.class, user);
return ServiceUtil.getService(SalarySobServiceImpl.class, user);
}
private AttendQuoteDataMapper getAttendQuoteDataMapper() {
@ -103,11 +110,11 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa
private RemoteAttend4SalaryService getRemoteAttend4SalaryService(User user) {
return (RemoteAttend4SalaryService) ServiceUtil.getService(RemoteAttend4SalaryServiceImpl.class, user);
return ServiceUtil.getService(RemoteAttend4SalaryServiceImpl.class, user);
}
private SalaryEmployeeService getSalaryEmployeeService(User user) {
return (SalaryEmployeeService) ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
}
private SalarySysConfMapper getSalarySysConfMapper() {
@ -116,6 +123,10 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa
@Override
public PageInfo<AttendQuoteDataBaseDTO> listPage(AttendQuoteDataQueryParam queryParam) {
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule);
SalaryPageUtil.start(queryParam.getCurrent(), queryParam.getPageSize());
List<AttendQuoteDataBaseDTO> list = getAttendQuoteDataMapper().list(queryParam);
PageInfo<AttendQuoteDataBaseDTO> page = new PageInfo<AttendQuoteDataBaseDTO>(list);
@ -205,6 +216,10 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100253, "考勤引用id不能为空"));
}
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule);
// 考勤数据分页主数据
List<AttendQuoteDataBaseDTO> attendQuoteDataBases = dataBiz.list(queryParam);
// 所有考勤字段
@ -463,7 +478,7 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa
dataValueBiz.deleteByAttendQuoteIds(quoteIds);
// 新增考勤值数据
if (CollectionUtils.isNotEmpty(values)) {
log.info("考勤数据:{}",values);
log.info("考勤数据:{}", values);
dataValueBiz.insertData(values);
}
}

View File

@ -22,6 +22,9 @@ import com.engine.salary.mapper.datacollection.OtherDeductionMapper;
import com.engine.salary.mapper.sys.SalarySysConfMapper;
import com.engine.salary.service.*;
import com.engine.salary.sys.entity.po.SalarySysConfPO;
import com.engine.salary.sys.entity.vo.OrderRuleVO;
import com.engine.salary.sys.service.SalarySysConfService;
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.SalaryDateUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.db.MapperProxyFactory;
@ -71,6 +74,9 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction
return SqlProxyHandle.getProxy(SalarySysConfMapper.class);
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
@Override
public OtherDeductionPO getById(Long id) {
@ -87,6 +93,10 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction
queryParam.setDeclareMonthDate(declareMonth.stream().map(e -> e + "-01 00:00:00").map(SalaryDateUtil::dateStrToLocalTime).collect(Collectors.toList()));
}
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule);
long employeeId = user.getUID();
Boolean needAuth = getTaxAgentService(user).isNeedAuth(employeeId);
@ -400,6 +410,9 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction
long employeeId = user.getUID();
//excel标题
List<String> title = Arrays.asList("姓名", "个税扣缴义务人", "部门", "手机号", "工号", "证件号码", "入职日期", "商业健康保险", "税延养老保险", "其他", "准予扣除的捐赠额");
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
param.setOrderRule(orderRule);
//申报月份
List<String> declareMonth = param.getDeclareMonth();

View File

@ -46,6 +46,9 @@ import com.engine.salary.mapper.sys.SalarySysConfMapper;
import com.engine.salary.mapper.taxagent.TaxAgentMapper;
import com.engine.salary.service.*;
import com.engine.salary.sys.entity.po.SalarySysConfPO;
import com.engine.salary.sys.entity.vo.OrderRuleVO;
import com.engine.salary.sys.service.SalarySysConfService;
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.SalaryDateUtil;
import com.engine.salary.util.SalaryFormItemUtil;
import com.engine.salary.util.SalaryI18nUtil;
@ -140,6 +143,10 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
private InsuranceSchemeMapper getInsuranceSchemeMapper() {
return MapperProxyFactory.getProxy(InsuranceSchemeMapper.class);
}
@ -283,6 +290,11 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
//补缴缴纳列表
queryParam.setPaymentStatus(PaymentStatusEnum.REPAIR.getValue());
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule);
SalaryPageUtil.start(queryParam.getCurrent(), queryParam.getPageSize());
List<InsuranceAccountDetailPO> list = getInsuranceAccountDetailMapper().list(queryParam);
PageInfo<InsuranceAccountDetailPO> pageInfo = new PageInfo<>(list, InsuranceAccountDetailPO.class);
@ -1316,7 +1328,6 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
return ExcelUtil.genWorkbookV2(rows, sheetName);
}
/**
* 获取福利台账中的补缴数据
* @param billMonth 账单月份

View File

@ -14,6 +14,9 @@ import com.engine.salary.enums.sicategory.WelfareTypeEnum;
import com.engine.salary.mapper.siarchives.SocialSchemeMapper;
import com.engine.salary.service.SIArchivesService;
import com.engine.salary.service.TaxAgentService;
import com.engine.salary.sys.entity.vo.OrderRuleVO;
import com.engine.salary.sys.service.SalarySysConfService;
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.db.MapperProxyFactory;
@ -40,6 +43,9 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService
return ServiceUtil.getService(TaxAgentServiceImpl.class, user);
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
@Override
public Map<String, Object> getTips(Map<String, Object> params) {
@ -90,6 +96,10 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService
public Map<String, Object> listPage(InsuranceArchivesListParam param) {
long currentEmployeeId = user.getUID();
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
param.setOrderRule(orderRule);
Boolean needAuth = getTaxAgentService(user).isNeedAuth(currentEmployeeId);
param.setNeedAuth(needAuth);
if (needAuth) {

View File

@ -24,6 +24,9 @@ import com.engine.salary.mapper.sicategory.ICategoryMapper;
import com.engine.salary.mapper.taxagent.TaxAgentMapper;
import com.engine.salary.service.SIExportService;
import com.engine.salary.service.SISchemeService;
import com.engine.salary.sys.entity.vo.OrderRuleVO;
import com.engine.salary.sys.service.SalarySysConfService;
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.SalaryAssert;
import com.engine.salary.util.SalaryEnumUtil;
import com.engine.salary.util.SalaryI18nUtil;
@ -69,6 +72,10 @@ public class SIExportServiceImpl extends Service implements SIExportService {
return MapperProxyFactory.getProxy(InsuranceExportMapper.class);
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
@Override
public XSSFWorkbook exportOverView(InsuranceExportParam queryParam) {
List<InsuranceAccountDetailPO> insuranceAccountDetailPOS = getInsuranceAccountDetailMapper().selectList(queryParam.getBillMonth(), StringUtils.isBlank(queryParam.getPaymentOrganization()) ? null : Long.valueOf(queryParam.getPaymentOrganization()));
@ -117,14 +124,19 @@ public class SIExportServiceImpl extends Service implements SIExportService {
@Override
public XSSFWorkbook exportAccount(Integer paymentStatus, InsuranceExportParam param) {
List<AccountExportPO> accountExportPOS = getInsuranceExportMapper().exportAccount(paymentStatus, param.getBillMonth(), param.getPaymentOrganization());
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
param.setOrderRule(orderRule);
List<AccountExportPO> accountExportPOS = getInsuranceExportMapper().exportAccount(paymentStatus, param);
AccountExportPOEncrypt.decryptAccountExportPOList(accountExportPOS);
List<WeaTableColumn> columns = new ArrayList<>();
List<Map<String, Object>> records = new ArrayList<>();
if (PaymentStatusEnum.COMMON.getValue() == paymentStatus) {
if (Objects.equals(PaymentStatusEnum.COMMON.getValue(), paymentStatus)) {
columns = buildCommonColumns(accountExportPOS, false);
}
if (PaymentStatusEnum.REPAIR.getValue() == paymentStatus) {
if (Objects.equals(PaymentStatusEnum.REPAIR.getValue(), paymentStatus)) {
columns = buildCommonColumns(accountExportPOS, true);
}
records = buildCommonRecords(accountExportPOS);

View File

@ -39,6 +39,9 @@ import com.engine.salary.mapper.sys.SalarySysConfMapper;
import com.engine.salary.mapper.taxagent.TaxAgentMapper;
import com.engine.salary.service.*;
import com.engine.salary.sys.entity.po.SalarySysConfPO;
import com.engine.salary.sys.entity.vo.OrderRuleVO;
import com.engine.salary.sys.service.SalarySysConfService;
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.*;
import com.engine.salary.util.db.MapperProxyFactory;
import com.engine.salary.util.excel.ExcelParseHelper;
@ -126,6 +129,9 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
return SqlProxyHandle.getProxy(SalarySysConfMapper.class);
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
@Override
public Map<String, Object> getForm(Map<String, Object> params) {
return commandExecutor.execute(new SISchemeGetFormCmd(params, user));
@ -208,6 +214,10 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
@Override
public List<InsuranceArchivesEmployeePO> listPageEmployeePOS(InsuranceArchivesListParam param) {
long currentEmployeeId = user.getUID();
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
param.setOrderRule(orderRule);
Boolean needAuth = getTaxAgentService().isNeedAuth(currentEmployeeId);
if (needAuth) {
List<TaxAgentEmployeeDTO> taxAgentEmployeeDTOS = getTaxAgentService().listTaxAgentAndEmployee(currentEmployeeId);

View File

@ -18,7 +18,9 @@ import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.salaryacct.SalaryAcctEmployeeMapper;
import com.engine.salary.mapper.sys.SalarySysConfMapper;
import com.engine.salary.service.*;
import com.engine.salary.sys.entity.po.SalarySysConfPO;
import com.engine.salary.sys.entity.vo.OrderRuleVO;
import com.engine.salary.sys.service.SalarySysConfService;
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;
@ -90,6 +92,11 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
return SqlProxyHandle.getProxy(SalarySysConfMapper.class);
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
@Override
public List<SalaryAcctEmployeeCountDTO> countBySalaryAcctRecordId(Collection<Long> salaryAcctRecordIds) {
if (CollectionUtils.isEmpty(salaryAcctRecordIds)) {
@ -177,6 +184,11 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
@Override
public PageInfo<SalaryAcctEmployeePO> listPageByParam(SalaryAcctEmployeeQueryParam queryParam) {
ValidUtil.doValidator(queryParam);
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule);
// 分页参数
SalaryPageUtil.start(queryParam.getCurrent(), queryParam.getPageSize());
// 查询薪资核算人员
@ -187,6 +199,9 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
@Override
public List<SalaryAcctEmployeePO> listByParam(SalaryAcctEmployeeQueryParam queryParam) {
ValidUtil.doValidator(queryParam);
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule);
return getSalaryAcctEmployeeMapper().list(queryParam);
}
@ -222,7 +237,6 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
}
@Override
public PageInfo<SalaryAcctEmployeePO> listPageByParam4Reduce(SalaryAcctEmployeeQueryParam queryParam) {
@ -286,8 +300,8 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
// Set<String> keySet = SalaryEntityUtil.properties(salaryAcctEmployeePOS, salaryAcctEmployeePO -> salaryAcctEmployeePO.getEmployeeId() + "-" + salaryAcctEmployeePO.getTaxAgentId());
Map<String, SalaryAcctEmployeePO> thisMonthSalaryAcctEmployeePOMap = SalaryEntityUtil.convert2Map(salaryAcctEmployeePOS, salaryAcctEmployeePO -> salaryAcctEmployeePO.getEmployeeId() + "-" + salaryAcctEmployeePO.getTaxAgentId());
List<SalaryAcctEmployeePO> resultList = Lists.newArrayList();
thisMonthSalaryAcctEmployeePOMap.forEach((k,v)->{
if(!lastMonthSalaryAcctEmployeePOMap.containsKey(k)){
thisMonthSalaryAcctEmployeePOMap.forEach((k, v) -> {
if (!lastMonthSalaryAcctEmployeePOMap.containsKey(k)) {
resultList.add(v);
}
});
@ -297,7 +311,9 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
@Override
public PageInfo<SalaryAcctEmployeePO> listPageByParam4ConsolidatedTax(SalaryAcctEmployeeQueryParam queryParam) {
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule);
// 查询合并计税的其他薪资核算记录
List<SalaryAcctRecordPO> otherSalaryAcctRecordPOS = getSalaryAcctRecordService(user).listById4OtherConsolidatedTax(queryParam.getSalaryAcctRecordId());
if (CollectionUtils.isEmpty(otherSalaryAcctRecordPOS)) {
@ -314,6 +330,9 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
@Override
public List<SalaryAcctEmployeePO> listByParam4ConsolidatedTax(SalaryAcctEmployeeQueryParam queryParam) {
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule);
// 查询合并计税的其他薪资核算记录
List<SalaryAcctRecordPO> otherSalaryAcctRecordPOS = getSalaryAcctRecordService(user).listById4OtherConsolidatedTax(queryParam.getSalaryAcctRecordId());
if (CollectionUtils.isEmpty(otherSalaryAcctRecordPOS)) {

View File

@ -31,6 +31,9 @@ import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.sys.SalarySysConfMapper;
import com.engine.salary.service.*;
import com.engine.salary.sys.entity.po.SalarySysConfPO;
import com.engine.salary.sys.enums.OpenEnum;
import com.engine.salary.sys.service.SalarySysConfService;
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.excel.ExcelParseHelper;
@ -56,6 +59,7 @@ import java.io.InputStream;
import java.util.*;
import java.util.stream.Collectors;
import static com.engine.salary.sys.constant.SalarySysConstant.OPEN_ACCT_RESULT_SUM;
import static com.engine.salary.util.excel.ExcelSupport.EXCEL_TYPE_XLSX;
/**
@ -125,6 +129,10 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
return SqlProxyHandle.getProxy(SalarySysConfMapper.class);
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
@Override
public XSSFWorkbook exportSalaryAcctEmployee(SalaryAcctEmployeeQueryParam queryParam) {
ValidUtil.doValidator(queryParam);
@ -158,8 +166,6 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
}
@Override
public XSSFWorkbook exportReducedEmployee(SalaryAcctEmployeeQueryParam queryParam) {
ValidUtil.doValidator(queryParam);
@ -276,6 +282,18 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
List<Object> headerList = new ArrayList<>(Arrays.asList(headers));
// 查询薪资核算结果
List<Map<String, Object>> resultMapList = getSalaryAcctResultService(user).listByParam(queryParam);
//合计
boolean total = false;
SalarySysConfPO openSum = getSalarySysConfService(user).getOneByCode(OPEN_ACCT_RESULT_SUM);
if (openSum != null && StringUtils.isNotBlank(openSum.getConfValue()) && OpenEnum.parseByValue(openSum.getConfValue()) == OpenEnum.OPEN) {
total = true;
Map<String, Object> sumRow = getSalaryAcctResultService(user).sumRow(queryParam);
sumRow.put("taxAgentName", "总计");
resultMapList.add(sumRow);
}
// excel导出的数据
List<List<Object>> rows = new ArrayList<>();
rows.add(headerList);
@ -288,7 +306,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
}
String sheetName = "薪资核算结果";
return ExcelUtil.genWorkbookV2(rows, sheetName);
return ExcelUtil.genWorkbookV2(rows, sheetName, total);
}
/**
@ -694,7 +712,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
employeeId = employeeSameIds.get(0).getEmployeeId();
}
}
}else if (StringUtils.equals(SalaryI18nUtil.getI18nLabel(86184, "部门"), dataKey.toString())
} else if (StringUtils.equals(SalaryI18nUtil.getI18nLabel(86184, "部门"), dataKey.toString())
|| StringUtils.equals(SalaryI18nUtil.getI18nLabel(86186, "手机号"), dataKey.toString())
|| StringUtils.equals(SalaryI18nUtil.getI18nLabel(86186, "工号"), dataKey.toString())) {

View File

@ -11,6 +11,7 @@ import com.engine.salary.entity.report.bo.SalaryAcctResultReportBO;
import com.engine.salary.entity.report.po.SalaryAcctResultReportPO;
import com.engine.salary.entity.salaryacct.bo.SalaryAcctCalculateBO;
import com.engine.salary.entity.salaryacct.bo.SalaryAcctCalculatePriorityBO;
import com.engine.salary.entity.salaryacct.bo.SalaryAcctFormulaBO;
import com.engine.salary.entity.salaryacct.bo.SalaryAcctResultBO;
import com.engine.salary.entity.salaryacct.dto.ConsolidatedTaxDetailDTO;
import com.engine.salary.entity.salaryacct.dto.SalaryAcctProgressDTO;
@ -30,6 +31,7 @@ import com.engine.salary.entity.salarysob.dto.*;
import com.engine.salary.entity.salarysob.po.*;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum;
import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum;
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.salaryacct.SalaryAcctResultMapper;
@ -210,7 +212,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
List<Long> salarySobItemGroupIds = salarySobItemGroupPOS.stream().map(SalarySobItemGroupPO::getId).collect(Collectors.toList());
// 查询薪资账套的薪资项目副本(已经过滤关闭分类显示按钮的薪资项目)
List<SalarySobItemPO> salarySobItemPOS = getSalarySobItemService(user).listBySalarySobIdAndGroupId(salaryAcctEmployeePO.getSalarySobId(),salarySobItemGroupIds);
List<SalarySobItemPO> salarySobItemPOS = getSalarySobItemService(user).listBySalarySobIdAndGroupId(salaryAcctEmployeePO.getSalarySobId(), salarySobItemGroupIds);
//----------------------------------------------
// 查询薪资核算所用薪资账套的薪资项目副本
@ -218,7 +220,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
// 获取关闭显示的薪资项目
List<Long> hideItemIDs = getSalarySobItemHideService(user).listHideGroupBysalarySobId(SalarySobItemHidePO.builder().salarySobId(salaryAcctEmployeePO.getSalarySobId()).isGroup(0).build());
// 过滤薪资项目
salarySobItemPOS = salarySobItemPOS.stream().filter(item->!(hideItemIDs.contains(item.getSalaryItemId())) ).collect(Collectors.toList());
salarySobItemPOS = salarySobItemPOS.stream().filter(item -> !(hideItemIDs.contains(item.getSalaryItemId()))).collect(Collectors.toList());
// 查询薪资项目
@ -252,6 +254,40 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
return resultPage;
}
@Override
public Map<String, Object> sumRow(SalaryAcctResultQueryParam queryParam) {
// 查询薪资核算人员
List<SalaryAcctEmployeePO> salaryAcctEmployeePOS = getSalaryAcctEmployeeService(user).listByResultQueryParam(queryParam);
if (CollectionUtils.isEmpty(salaryAcctEmployeePOS)) {
return null;
}
// 查询薪资核算记录
SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(queryParam.getSalaryAcctRecordId());
if (Objects.isNull(salaryAcctRecordPO)) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98747, "薪资核算记录不存在或已被删除"));
}
// 查询薪资核算所用薪资账套的薪资项目
List<SalarySobItemPO> salarySobItemPOS = getSalarySobItemService(user).listBySalarySobId(salaryAcctRecordPO.getSalarySobId());
Set<Long> salaryItemIds = SalaryEntityUtil.properties(salarySobItemPOS, SalarySobItemPO::getSalaryItemId);
List<SalaryItemPO> salaryItemPOS = getSalaryItemService(user).listByIds(salaryItemIds);
// 查询薪资核算结果
Set<Long> salaryAcctEmployeeIds = SalaryEntityUtil.properties(salaryAcctEmployeePOS, SalaryAcctEmployeePO::getId);
List<SalaryAcctResultPO> salaryAcctResultPOS = listBySalaryAcctEmployeeIds(salaryAcctEmployeeIds);
Map<String, Object> map = new HashMap<>();
Map<Long, List<SalaryAcctResultPO>> acctResultMap = SalaryEntityUtil.group2Map(salaryAcctResultPOS, SalaryAcctResultPO::getSalaryItemId);
salaryItemPOS.stream().filter(item -> SalaryDataTypeEnum.NUMBER.getValue().equals(item.getDataType())).forEach(item -> {
BigDecimal sum = acctResultMap.get(item.getId()).stream()
.map(SalaryAcctResultPO::getResultValue)
.filter(NumberUtils::isCreatable)
.map(BigDecimal::new)
.reduce(BigDecimal.ZERO, BigDecimal::add);
map.put(item.getId().toString(), SalaryAcctFormulaBO.roundResultValue(sum.toString(),item));
});
return map;
}
@Override
public List<Map<String, Object>> listByParam(SalaryAcctResultQueryParam queryParam) {
// 查询薪资核算人员

View File

@ -204,7 +204,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
* @return
*/
@NotNull
private List<SalaryArchiveListDTO> setSalaryArchiveStatus(Map<Long, List<TaxAgentManageRangeEmployeeDTO.TaxAgentEmployee>> taxAgentEmployeesMap, List<SalaryArchiveListDTO> list) {
private List<SalaryArchiveListDTO> setSalaryArchiveStatus(Map<Long, List<TaxAgentManageRangeEmployeeDTO.TaxAgentEmployee>> taxAgentEmployeesMap, Collection<SalaryArchiveListDTO> list) {
list = list.stream().peek(dto -> {
List<TaxAgentManageRangeEmployeeDTO.TaxAgentEmployee> taxAgentEmployees = taxAgentEmployeesMap.get(dto.getTaxAgentId());
Set<Long> employeeIds = SalaryEntityUtil.properties(taxAgentEmployees, TaxAgentManageRangeEmployeeDTO.TaxAgentEmployee::getEmployeeId);
@ -214,7 +214,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
dto.setArchiveStatus(SalaryArchiveStatusEnum.ARCHIVE.getValue());
}
}).collect(Collectors.toList());
return list;
return (List)list;
}
@Override
@ -379,6 +379,11 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
// 获取所有个税扣缴义务人
Collection<TaxAgentPO> taxAgentList = getTaxAgentService(user).listAll();
//获取管理的人员范围
List<TaxAgentManageRangeEmployeeDTO> taxAgentEmployeeDTOS = getTaxAgentService(user).listTaxAgentAndEmployeeTree(employeeId);
Map<Long, List<TaxAgentManageRangeEmployeeDTO.TaxAgentEmployee>> taxAgentEmployeesMap = SalaryEntityUtil.convert2Map(taxAgentEmployeeDTOS, TaxAgentManageRangeEmployeeDTO::getTaxAgentId, TaxAgentManageRangeEmployeeDTO::getEmployeeList);
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule);
@ -401,6 +406,9 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
//过滤档案状态
if (StringUtils.isNotBlank(queryParam.getArchiveStatus())) {
//设置档案状态
salaryArchives = setSalaryArchiveStatus(taxAgentEmployeesMap, salaryArchives);
//过滤档案状态
salaryArchives = salaryArchives.stream().filter(dto -> StringUtils.equals(queryParam.getArchiveStatus(), dto.getArchiveStatus())).collect(Collectors.toList());
}
}

View File

@ -36,6 +36,9 @@ import com.engine.salary.mapper.salaryacct.SalaryAcctResultMapper;
import com.engine.salary.mapper.salarybill.SalarySendInfoMapper;
import com.engine.salary.mapper.salarybill.SalarySendMapper;
import com.engine.salary.service.*;
import com.engine.salary.sys.entity.vo.OrderRuleVO;
import com.engine.salary.sys.service.SalarySysConfService;
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.JsonUtil;
import com.engine.salary.util.SalaryDateUtil;
import com.engine.salary.util.SalaryEntityUtil;
@ -112,6 +115,11 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
return SqlProxyHandle.getProxy(SalarySendInfoMapper.class);
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
// @RpcReference
// private FileDownloadClient fileDownloadClient;
// /**
@ -434,6 +442,11 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
@Override
public PageInfo<SalarySendInfoListDTO> salarySendInfoListPage(SalarySendInfoQueryParam queryParam) {
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule);
SalaryPageUtil.start(queryParam.getCurrent(), queryParam.getPageSize());
List<SalarySendInfoListDTO> page = salarySendInfoMapper.list(queryParam);
PageInfo<SalarySendInfoListDTO> result = new PageInfo<>(page, SalarySendInfoListDTO.class);
@ -449,6 +462,10 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
@Override
public PageInfo<SalarySendDetailListDTO> salarySendInfoDetailListPage(SalarySendDetailQueryParam queryParam) {
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule);
SalaryPageUtil.start(queryParam.getCurrent(), queryParam.getPageSize());
List<SalarySendDetailListDTO> list = salarySendInfoMapper.detailList(queryParam);
PageInfo<SalarySendDetailListDTO> pageInfo = new PageInfo<>(list, SalarySendDetailListDTO.class);
@ -999,6 +1016,9 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
SalarySendInfoQueryParam.checkParam(queryParam);
// 获取行数据
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule);
List<SalarySendInfoListDTO> list = salarySendInfoMapper.list(queryParam);
list.forEach(e -> {
// 发放状态
@ -1034,6 +1054,10 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
List<SalaryTemplateSalaryItemListDTO> salaryItems = getSalaryItemsSetting(CollectionUtils.isNotEmpty(salaryTemplates) ? salaryTemplates.get(0) : null);
// 2.获取基本数据
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule);
List<SalarySendDetailListDTO> list = salarySendInfoMapper.detailList(queryParam);
// 3.组装详情数据

View File

@ -21,6 +21,9 @@ import com.engine.salary.service.SalaryEmployeeService;
import com.engine.salary.service.TaxAgentService;
import com.engine.salary.service.TaxDeclarationDetailService;
import com.engine.salary.service.TaxDeclarationService;
import com.engine.salary.sys.entity.vo.OrderRuleVO;
import com.engine.salary.sys.service.SalarySysConfService;
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.db.MapperProxyFactory;
import com.engine.salary.util.page.PageInfo;
@ -63,6 +66,10 @@ public class TaxDeclarationDetailServiceImpl extends Service implements TaxDecla
return (SalaryEmployeeService) ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
@Override
public List<TaxDeclarationDetailPO> listByTaxDeclarationIdAndEmployeeIds(Long taxDeclarationId, Collection<Long> employeeIds) {
if (CollectionUtils.isEmpty(employeeIds)) {
@ -74,8 +81,12 @@ public class TaxDeclarationDetailServiceImpl extends Service implements TaxDecla
@Override
public PageInfo<TaxDeclarationEmployeeDTO> listPage4EmployeeIdByParam(TaxDeclarationDetailListQueryParam queryParam) {
//排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule);
SalaryPageUtil.start(queryParam.getCurrent(), queryParam.getPageSize());
List<TaxDeclarationEmployeeDTO> taxDeclarationEmployeeDTOS = getTaxDeclarationDetailMapper().listPage4EmployeeId(queryParam.getTaxDeclarationId());
List<TaxDeclarationEmployeeDTO> taxDeclarationEmployeeDTOS = getTaxDeclarationDetailMapper().listPage4EmployeeId(queryParam);
return new PageInfo<>(taxDeclarationEmployeeDTOS, TaxDeclarationEmployeeDTO.class);
}

View File

@ -26,4 +26,9 @@ public class SalarySysConstant {
* 定位人员规则标识
*/
public static final String MATCH_EMPLOYEE_MODE = "matchEmployeeMode";
/**
* 核算合计功能开启标识
*/
public static final String OPEN_ACCT_RESULT_SUM = "OPEN_ACCT_RESULT_SUM";
}

View File

@ -0,0 +1,38 @@
package com.engine.salary.sys.entity.param;
import com.engine.salary.sys.enums.OpenEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 保存应用设置参数
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AppSettingSaveParam {
/**
* 是否打印日志
*
* @see OpenEnum
*/
private String isLog;
/**
* 是否开启核算结果合计列
*
* @see OpenEnum
*/
private String openAcctResultSum;
}

View File

@ -0,0 +1,38 @@
package com.engine.salary.sys.entity.vo;
import com.engine.salary.sys.enums.OpenEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 保存应用设置参数
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AppSettingVO {
/**
* 是否打印日志
*
* @see OpenEnum
*/
private String isLog;
/**
* 是否开启核算结果合计列
*
* @see OpenEnum
*/
private String openAcctResultSum;
}

View File

@ -0,0 +1,55 @@
package com.engine.salary.sys.enums;
import com.engine.salary.enums.BaseEnum;
import org.apache.commons.lang3.StringUtils;
/**
* 排序枚举
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
public enum OpenEnum implements BaseEnum<String> {
OFF("0", "关闭", 1),
OPEN("1", "开启", 1);
private String value;
private String defaultLabel;
private int labelId;
OpenEnum(String value, String defaultLabel, int labelId) {
this.value = value;
this.defaultLabel = defaultLabel;
this.labelId = labelId;
}
@Override
public String getValue() {
return value;
}
@Override
public String getDefaultLabel() {
return defaultLabel;
}
@Override
public Integer getLabelId() {
return labelId;
}
public static OpenEnum parseByValue(String value) {
for (OpenEnum openEnum : OpenEnum.values()) {
if (StringUtils.equals(openEnum.getValue(), value)) {
return openEnum;
}
}
return OFF;
}
}

View File

@ -1,7 +1,9 @@
package com.engine.salary.sys.service;
import com.engine.salary.sys.entity.param.AppSettingSaveParam;
import com.engine.salary.sys.entity.param.OrderRuleParam;
import com.engine.salary.sys.entity.po.SalarySysConfPO;
import com.engine.salary.sys.entity.vo.AppSettingVO;
import com.engine.salary.sys.entity.vo.OrderRuleVO;
import com.engine.salary.sys.enums.TaxDeclarationFunctionEnum;
@ -45,4 +47,16 @@ public interface SalarySysConfService {
void saveMatchEmployeeModeRule(String rule);
/**
* 保存应用设置
* @param param
*/
void saveAppSetting(AppSettingSaveParam param);
/**
* 应用设置
* @return
*/
AppSettingVO appSetting();
}

View File

@ -4,8 +4,10 @@ import com.api.formmode.mybatis.util.SqlProxyHandle;
import com.engine.core.impl.Service;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.sys.SalarySysConfMapper;
import com.engine.salary.sys.entity.param.AppSettingSaveParam;
import com.engine.salary.sys.entity.param.OrderRuleParam;
import com.engine.salary.sys.entity.po.SalarySysConfPO;
import com.engine.salary.sys.entity.vo.AppSettingVO;
import com.engine.salary.sys.entity.vo.OrderRuleVO;
import com.engine.salary.sys.enums.AscOrDescEnum;
import com.engine.salary.sys.enums.MatchEmployeeModeEnum;
@ -216,4 +218,39 @@ public class SalarySysConfServiceImpl extends Service implements SalarySysConfSe
}
}
@Override
public void saveAppSetting(AppSettingSaveParam param) {
String openAcctResultSum = param.getOpenAcctResultSum();
SalarySysConfPO po = getOneByCode(OPEN_ACCT_RESULT_SUM);
if (po == null) {
SalarySysConfPO build = SalarySysConfPO.builder()
.id(IdGenerator.generate())
.confKey(OPEN_ACCT_RESULT_SUM)
.confValue(openAcctResultSum)
.title("开启核算结果合并")
.orderWeight(0)
.module("app")
.updateTime(new Date())
.createTime(new Date())
.deleteType(0)
.build();
getSalarySysConfMapper().insertIgnoreNull(build);
} else {
po.setConfValue(openAcctResultSum);
po.setUpdateTime(new Date());
getSalarySysConfMapper().updateIgnoreNull(po);
}
}
@Override
public AppSettingVO appSetting() {
AppSettingVO appSettingVO = AppSettingVO.builder().build();
SalarySysConfPO po = getOneByCode(OPEN_ACCT_RESULT_SUM);
if (po != null) {
appSettingVO.setOpenAcctResultSum(po.getConfValue());
}
return appSettingVO;
}
}

View File

@ -8,6 +8,7 @@ import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.xssf.usermodel.*;
import java.awt.*;
import java.util.Date;
import java.util.List;
@ -193,4 +194,76 @@ public class ExcelUtil {
}
return workbook;
}
public static XSSFWorkbook genWorkbookV2(List<List<Object>> rowList, String sheetName, boolean lastRowRed) {
XSSFWorkbook workbook = new XSSFWorkbook();
// 设置title样式
XSSFCellStyle titleCellStyle = workbook.createCellStyle();
XSSFFont titleFont = workbook.createFont();
titleFont.setFontName("仿宋");
titleFont.setFontHeightInPoints((short) 15);
titleCellStyle.setFont(titleFont);
titleCellStyle.setAlignment(HorizontalAlignment.CENTER);
titleCellStyle.setFillForegroundColor(IndexedColors.GREEN.getIndex());//背景色
titleCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
// 设置主体样式
XSSFCellStyle cellStyle = workbook.createCellStyle();
XSSFFont font = workbook.createFont();
font.setFontName("宋体");
font.setFontHeightInPoints((short) 10);// 设置字体大小
cellStyle.setFont(font);// 选择需要用到的字体格式
cellStyle.setWrapText(true);
XSSFCellStyle redCellStyle = workbook.createCellStyle();
XSSFFont redFont = workbook.createFont();
redFont.setFontName("宋体");
redFont.setFontHeightInPoints((short) 10);// 设置字体大小
redFont.setColor(new XSSFColor(new Color(0xFF3333), null));
redCellStyle.setWrapText(true);
redCellStyle.setFont(redFont);// 选择需要用到的字体格式
XSSFSheet sheet = workbook.createSheet(sheetName);
//自适应宽度
sheet.autoSizeColumn(0, true);
//默认列宽
sheet.setDefaultColumnWidth(20);
//默认行高
sheet.setDefaultRowHeightInPoints(18);
for (int rowIndex = 0; rowIndex < rowList.size(); rowIndex++) {
List<Object> infoList = rowList.get(rowIndex);
XSSFRow row = sheet.createRow(rowIndex);
for (int cellIndex = 0; cellIndex < infoList.size(); cellIndex++) {
XSSFCell cell = row.createCell(cellIndex);
if (rowIndex == 0) {
cell.setCellStyle(titleCellStyle);
} else {
if (lastRowRed && rowIndex == rowList.size() - 1) {
cell.setCellStyle(redCellStyle);
} else {
cell.setCellStyle(cellStyle);
}
}
Object o = infoList.get(cellIndex);
if (o instanceof String) {
cell.setCellType(CellType.STRING);
cell.setCellValue(String.valueOf(o));
} else if (o instanceof Boolean) {
cell.setCellType(CellType.BOOLEAN);
cell.setCellValue(String.valueOf(o));
} else if (o instanceof Date) {
cell.setCellType(CellType.STRING);
cell.setCellValue(SalaryDateUtil.getFormatLocalDate((Date) o));
} else {
cell.setCellType(CellType.STRING);
cell.setCellValue(o == null ? "" : o.toString());
}
}
}
return workbook;
}
}

View File

@ -7,6 +7,7 @@ import com.engine.salary.entity.datacollection.dto.AddUpSituationRecordDTO;
import com.engine.salary.entity.datacollection.param.AddUpSituationImportParam;
import com.engine.salary.entity.datacollection.param.AddUpSituationQueryParam;
import com.engine.salary.util.ResponseResult;
import com.engine.salary.util.SalaryDateUtil;
import com.engine.salary.util.page.PageInfo;
import com.engine.salary.wrapper.AddUpSituationWrapper;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
@ -210,6 +211,7 @@ public class AddUpSituationController {
String taxYearMonth = request.getParameter("taxYearMonth");
if (StringUtils.isNotBlank(taxYearMonth)) {
param.setTaxYearMonth(Arrays.asList(taxYearMonth.split(",")));
param.setTaxYearMonthDate(Arrays.stream(taxYearMonth.split(",")).map(e -> e + "-01 00:00:00").map(SalaryDateUtil::dateStrToLocalTime).collect(Collectors.toList()));
}
String username = request.getParameter("username");

View File

@ -6,6 +6,7 @@ import com.engine.salary.entity.datacollection.dto.OtherDeductionRecordDTO;
import com.engine.salary.entity.datacollection.param.OtherDeductionImportParam;
import com.engine.salary.entity.datacollection.param.OtherDeductionQueryParam;
import com.engine.salary.util.ResponseResult;
import com.engine.salary.util.SalaryDateUtil;
import com.engine.salary.util.page.PageInfo;
import com.engine.salary.wrapper.OtherDeductionWrapper;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
@ -202,7 +203,8 @@ public class OtherDeductionController {
}
String declareMonth = request.getParameter("declareMonth");
if (StringUtils.isNotBlank(declareMonth)) {
param.setDeclareMonth(Arrays.asList(declareMonth.split(",")));
param.setDeclareMonth(Arrays.stream(declareMonth.split(",")).map(e -> e + "-01 00:00:00").collect(Collectors.toList()));
param.setDeclareMonthDate(Arrays.stream(declareMonth.split(",")).map(e -> e + "-01 00:00:00").map(SalaryDateUtil::dateStrToLocalTime).collect(Collectors.toList()));
}
String username = request.getParameter("username");

View File

@ -245,6 +245,10 @@ public class SalaryArchiveController {
if (StringUtils.isNotBlank(hasData)) {
param.setHasData(Boolean.valueOf(hasData));
}
String archiveStatus = request.getParameter("archiveStatus");
if (StringUtils.isNotBlank(archiveStatus)) {
param.setArchiveStatus(archiveStatus);
}
return param;
}

View File

@ -269,7 +269,7 @@ public class SalaryBillController {
XSSFWorkbook workbook = getSalarySendWrapper(user).exportInfoList(queryParam);
String fileName = "工资单发放信息列表";
String fileName = "工资单发放信息" + LocalDate.now();
try {
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
} catch (UnsupportedEncodingException e) {
@ -393,15 +393,15 @@ public class SalaryBillController {
SalarySendDetailQueryParam queryParam = new SalarySendDetailQueryParam();
String salarySendId = request.getParameter("salarySendId");
String ids = request.getParameter("ids");
if(StringUtils.isNotBlank(ids)) {
if (StringUtils.isNotBlank(ids)) {
queryParam.setIds(Arrays.asList(ids.split(",")).stream().map(Long::new).collect(Collectors.toList()));
}
if(StringUtils.isNotBlank(salarySendId)) {
if (StringUtils.isNotBlank(salarySendId)) {
queryParam.setSalarySendId(Long.parseLong(salarySendId));
}
XSSFWorkbook workbook = getSalarySendWrapper(user).exportDetailList(queryParam);
String fileName = "工资单发放详情列表"+ LocalDate.now();
String fileName = "工资单发放详情列表" + LocalDate.now();
try {
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
} catch (UnsupportedEncodingException e) {

View File

@ -1,10 +1,12 @@
package com.engine.salary.web;
import com.engine.common.util.ServiceUtil;
import com.engine.salary.sys.entity.param.AppSettingSaveParam;
import com.engine.salary.sys.entity.param.MatchEmployeeModeSaveParam;
import com.engine.salary.sys.entity.param.OrderRuleParam;
import com.engine.salary.sys.entity.param.SalarySysConfQueryParam;
import com.engine.salary.sys.entity.po.SalarySysConfPO;
import com.engine.salary.sys.entity.vo.AppSettingVO;
import com.engine.salary.sys.entity.vo.OrderRuleVO;
import com.engine.salary.sys.enums.TaxDeclarationFunctionEnum;
import com.engine.salary.util.ResponseResult;
@ -178,4 +180,36 @@ public class SalarySystemConfigController {
return new ResponseResult<MatchEmployeeModeSaveParam, String>(user).run(getSalarySystemConfigWrapper(user)::saveMatchEmployeeModeRule, param);
}
/**
* 应用设置
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/app/setting/save")
@Produces(MediaType.APPLICATION_JSON)
public String saveAppSetting(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AppSettingSaveParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<AppSettingSaveParam, String>(user).run(getSalarySystemConfigWrapper(user)::saveAppSetting, param);
}
/**
* 应用设置
*
* @param request
* @param response
* @return
*/
@GET
@Path("/app/setting")
@Produces(MediaType.APPLICATION_JSON)
public String appSetting(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<String, AppSettingVO>(user).run(getSalarySystemConfigWrapper(user)::appSetting);
}
}

View File

@ -2,7 +2,6 @@ package com.engine.salary.wrapper;
import com.api.browser.bean.SearchConditionGroup;
import com.api.browser.bean.SearchConditionItem;
import com.api.browser.bean.SearchConditionOption;
import com.api.browser.util.ConditionFactory;
import com.api.browser.util.ConditionType;
import com.engine.common.util.ServiceUtil;
@ -23,7 +22,6 @@ import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.page.PageInfo;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.util.ArrayList;
import java.util.HashMap;
@ -91,37 +89,37 @@ public class OtherDeductionWrapper extends Service {
conditionItems.add(jobNum);
SearchConditionItem idNo = conditionFactory.createCondition(ConditionType.INPUT, 25034, "idNo");
idNo.setInputType("input");
idNo.setColSpan(2);
idNo.setFieldcol(16);
idNo.setLabelcol(8);
idNo.setViewAttr(2);
idNo.setLabel("证件号码");
conditionItems.add(idNo);
//日期范围选项
List<SearchConditionOption> dateOptions = new ArrayList<SearchConditionOption>();
dateOptions.add(new SearchConditionOption("6", SystemEnv.getHtmlLabelName(32530, user.getLanguage()), true));//指定日期范围(必须为6)
SearchConditionItem hiredate = conditionFactory.createCondition(ConditionType.RANGEPICKER, 18648, new String[]{"hiredate", "hiredate"});
hiredate.setInputType("rangepicker");
hiredate.setFormat("yyyy-MM-dd");
hiredate.setFieldcol(16);
hiredate.setLabelcol(8);
hiredate.setViewAttr(2);
hiredate.setLabel("入职日期");
hiredate.setOptions(dateOptions);
conditionItems.add(hiredate);
SearchConditionItem mobile = conditionFactory.createCondition(ConditionType.INPUT, 25034, "mobile");
mobile.setInputType("input");
mobile.setColSpan(2);
mobile.setFieldcol(16);
mobile.setLabelcol(8);
mobile.setViewAttr(2);
mobile.setLabel("手机号");
conditionItems.add(mobile);
// SearchConditionItem idNo = conditionFactory.createCondition(ConditionType.INPUT, 25034, "idNo");
// idNo.setInputType("input");
// idNo.setColSpan(2);
// idNo.setFieldcol(16);
// idNo.setLabelcol(8);
// idNo.setViewAttr(2);
// idNo.setLabel("证件号码");
// conditionItems.add(idNo);
//
// //日期范围选项
// List<SearchConditionOption> dateOptions = new ArrayList<SearchConditionOption>();
// dateOptions.add(new SearchConditionOption("6", SystemEnv.getHtmlLabelName(32530, user.getLanguage()), true));//指定日期范围(必须为6)
// SearchConditionItem hiredate = conditionFactory.createCondition(ConditionType.RANGEPICKER, 18648, new String[]{"hiredate", "hiredate"});
// hiredate.setInputType("rangepicker");
// hiredate.setFormat("yyyy-MM-dd");
// hiredate.setFieldcol(16);
// hiredate.setLabelcol(8);
// hiredate.setViewAttr(2);
// hiredate.setLabel("入职日期");
// hiredate.setOptions(dateOptions);
// conditionItems.add(hiredate);
//
//
// SearchConditionItem mobile = conditionFactory.createCondition(ConditionType.INPUT, 25034, "mobile");
// mobile.setInputType("input");
// mobile.setColSpan(2);
// mobile.setFieldcol(16);
// mobile.setLabelcol(8);
// mobile.setViewAttr(2);
// mobile.setLabel("手机号");
// conditionItems.add(mobile);
addGroups.add(new SearchConditionGroup("常用条件", true, conditionItems));

View File

@ -16,6 +16,10 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.service.*;
import com.engine.salary.service.impl.*;
import com.engine.salary.sys.entity.po.SalarySysConfPO;
import com.engine.salary.sys.enums.OpenEnum;
import com.engine.salary.sys.service.SalarySysConfService;
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.page.PageInfo;
@ -28,6 +32,8 @@ import weaver.hrm.User;
import java.math.BigDecimal;
import java.util.*;
import static com.engine.salary.sys.constant.SalarySysConstant.OPEN_ACCT_RESULT_SUM;
/**
* 薪资核算结果
* <p>Copyright: Copyright (c) 2022</p>
@ -40,34 +46,38 @@ import java.util.*;
public class SalaryAcctResultWrapper extends Service {
private SalaryAcctResultService getSalaryAcctResultService(User user) {
return ServiceUtil.getService(SalaryAcctResultServiceImpl.class, user);
return ServiceUtil.getService(SalaryAcctResultServiceImpl.class, user);
}
private SalaryAcctRecordService getSalaryAcctRecordService(User user) {
return ServiceUtil.getService(SalaryAcctRecordServiceImpl.class, user);
return ServiceUtil.getService(SalaryAcctRecordServiceImpl.class, user);
}
private SalaryEmployeeService getSalaryEmployeeService(User user) {
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
}
private SalarySobItemService getSalarySobItemService(User user) {
return ServiceUtil.getService(SalarySobItemServiceImpl.class, user);
return ServiceUtil.getService(SalarySobItemServiceImpl.class, user);
}
private SalaryAcctEmployeeWrapper getSalaryAcctEmployeeWrapper(User user) {
return ServiceUtil.getService(SalaryAcctEmployeeWrapper.class, user);
return ServiceUtil.getService(SalaryAcctEmployeeWrapper.class, user);
}
private SalaryAcctProgressService getSalaryAcctProgressService(User user) {
return ServiceUtil.getService(SalaryAcctProgressServiceImpl.class, user);
return ServiceUtil.getService(SalaryAcctProgressServiceImpl.class, user);
}
// private SalaryCheckResultService salaryCheckResultService;
private SalaryAcctExcelService getSalaryAcctExcelService(User user) {
return ServiceUtil.getService(SalaryAcctExcelServiceImpl.class, user);
return ServiceUtil.getService(SalaryAcctExcelServiceImpl.class, user);
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
/**
@ -94,6 +104,12 @@ public class SalaryAcctResultWrapper extends Service {
datas.put("pageInfo", page);
datas.put("columns", columns);
//合计
SalarySysConfPO openSum = getSalarySysConfService(user).getOneByCode(OPEN_ACCT_RESULT_SUM);
if (openSum != null && StringUtils.isNotBlank(openSum.getConfValue()) && OpenEnum.parseByValue(openSum.getConfValue()) == OpenEnum.OPEN) {
Map<String, Object> sumRow = getSalaryAcctResultService(user).sumRow(queryParam);
datas.put("sumRow", sumRow);
}
return datas;
}
@ -202,7 +218,7 @@ public class SalaryAcctResultWrapper extends Service {
//报表参数
List<DataCollectionEmployee> emps = getSalaryEmployeeService(user).listAllForReport();
calculateParam.setEmps(SalaryEntityUtil.convert2Map(emps,DataCollectionEmployee::getEmployeeId));
calculateParam.setEmps(SalaryEntityUtil.convert2Map(emps, DataCollectionEmployee::getEmployeeId));
//当前登陆人员
DataCollectionEmployee simpleEmployee = new DataCollectionEmployee();

View File

@ -236,7 +236,7 @@ public class SalarySendWrapper extends Service {
conditionItems.add(position);
//状态
SearchConditionItem status = conditionFactory.createCondition(ConditionType.SELECT, 25034, "taxAgent");
SearchConditionItem status = conditionFactory.createCondition(ConditionType.SELECT, 25034, "userstatus");
status.setColSpan(2);//定义一行显示条件数默认值为2,当值为1时标识该条件单独占一行
status.setFieldcol(16); //条件输入框所占宽度默认值18
status.setLabelcol(8);
@ -248,19 +248,19 @@ public class SalarySendWrapper extends Service {
status.setLabel("状态"); //设置文本值 这个将覆盖多语言标签的值
conditionItems.add(status);
//入职日期
SearchConditionItem hiredate = conditionFactory.createCondition(ConditionType.RANGEPICKER, 25034, "hiredate");
hiredate.setColSpan(2);//定义一行显示条件数默认值为2,当值为1时标识该条件单独占一行
hiredate.setFieldcol(16); //条件输入框所占宽度默认值18
hiredate.setLabelcol(8);
hiredate.setViewAttr(2); // 编辑权限 1只读2可编辑 3必填 默认2
Map<String, Object> otherParams1 = new HashMap<String, Object>();
otherParams1.put("format", "yyyy-MM-dd");
hiredate.setOtherParams(otherParams1);
hiredate.setInputType("day");
hiredate.setMode("day");
hiredate.setLabel("入职日期"); //设置文本值 这个将覆盖多语言标签的值
conditionItems.add(hiredate);
// //入职日期
// SearchConditionItem hiredate = conditionFactory.createCondition(ConditionType.RANGEPICKER, 25034, "hiredate");
// hiredate.setColSpan(2);//定义一行显示条件数默认值为2,当值为1时标识该条件单独占一行
// hiredate.setFieldcol(16); //条件输入框所占宽度默认值18
// hiredate.setLabelcol(8);
// hiredate.setViewAttr(2); // 编辑权限 1只读2可编辑 3必填 默认2
// Map<String, Object> otherParams1 = new HashMap<String, Object>();
// otherParams1.put("format", "yyyy-MM-dd");
// hiredate.setOtherParams(otherParams1);
// hiredate.setInputType("day");
// hiredate.setMode("day");
// hiredate.setLabel("入职日期"); //设置文本值 这个将覆盖多语言标签的值
// conditionItems.add(hiredate);
//发送状态
SearchConditionItem sendStatus = conditionFactory.createCondition(ConditionType.SELECT, 25034, "sendStatus");
@ -417,7 +417,7 @@ public class SalarySendWrapper extends Service {
conditionItems.add(position);
//状态
SearchConditionItem status = conditionFactory.createCondition(ConditionType.SELECT, 25034, "taxAgent");
SearchConditionItem status = conditionFactory.createCondition(ConditionType.SELECT, 25034, "userstatus");
status.setColSpan(2);//定义一行显示条件数默认值为2,当值为1时标识该条件单独占一行
status.setFieldcol(16); //条件输入框所占宽度默认值18
status.setLabelcol(8);
@ -429,19 +429,19 @@ public class SalarySendWrapper extends Service {
status.setLabel("状态"); //设置文本值 这个将覆盖多语言标签的值
conditionItems.add(status);
//入职日期
SearchConditionItem hiredate = conditionFactory.createCondition(ConditionType.RANGEPICKER, 25034, "hiredate");
hiredate.setColSpan(2);//定义一行显示条件数默认值为2,当值为1时标识该条件单独占一行
hiredate.setFieldcol(16); //条件输入框所占宽度默认值18
hiredate.setLabelcol(8);
hiredate.setViewAttr(2); // 编辑权限 1只读2可编辑 3必填 默认2
Map<String, Object> otherParams1 = new HashMap<String, Object>();
otherParams1.put("format", "yyyy-MM-dd");
hiredate.setOtherParams(otherParams1);
hiredate.setInputType("day");
hiredate.setMode("day");
hiredate.setLabel("入职日期"); //设置文本值 这个将覆盖多语言标签的值
conditionItems.add(hiredate);
// //入职日期
// SearchConditionItem hiredate = conditionFactory.createCondition(ConditionType.RANGEPICKER, 25034, "hiredate");
// hiredate.setColSpan(2);//定义一行显示条件数默认值为2,当值为1时标识该条件单独占一行
// hiredate.setFieldcol(16); //条件输入框所占宽度默认值18
// hiredate.setLabelcol(8);
// hiredate.setViewAttr(2); // 编辑权限 1只读2可编辑 3必填 默认2
// Map<String, Object> otherParams1 = new HashMap<String, Object>();
// otherParams1.put("format", "yyyy-MM-dd");
// hiredate.setOtherParams(otherParams1);
// hiredate.setInputType("day");
// hiredate.setMode("day");
// hiredate.setLabel("入职日期"); //设置文本值 这个将覆盖多语言标签的值
// conditionItems.add(hiredate);
//合并计税
SearchConditionItem mergeCountTax = conditionFactory.createCondition(ConditionType.CHECKBOX, 25034, "mergeCountTax");

View File

@ -2,10 +2,12 @@ package com.engine.salary.wrapper;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.sys.entity.param.AppSettingSaveParam;
import com.engine.salary.sys.entity.param.MatchEmployeeModeSaveParam;
import com.engine.salary.sys.entity.param.OrderRuleParam;
import com.engine.salary.sys.entity.param.SalarySysConfQueryParam;
import com.engine.salary.sys.entity.po.SalarySysConfPO;
import com.engine.salary.sys.entity.vo.AppSettingVO;
import com.engine.salary.sys.entity.vo.OrderRuleVO;
import com.engine.salary.sys.enums.TaxDeclarationFunctionEnum;
import com.engine.salary.sys.service.SalarySysConfService;
@ -118,4 +120,15 @@ public class SalarySystemConfigWrapper extends Service {
ValidUtil.doValidator(param);
getSalarySysConfService(user).saveMatchEmployeeModeRule(param.getRule());
}
public void saveAppSetting(AppSettingSaveParam param) {
ValidUtil.doValidator(param);
getSalarySysConfService(user).saveAppSetting(param);
}
public AppSettingVO appSetting() {
return getSalarySysConfService(user).appSetting();
}
}