diff --git a/src/com/engine/salary/entity/employeedeclare/bo/EmployeeDeclareRefresh.java b/src/com/engine/salary/entity/employeedeclare/bo/EmployeeDeclareRefresh.java index f12575e8c..84eb0944b 100644 --- a/src/com/engine/salary/entity/employeedeclare/bo/EmployeeDeclareRefresh.java +++ b/src/com/engine/salary/entity/employeedeclare/bo/EmployeeDeclareRefresh.java @@ -119,7 +119,7 @@ public class EmployeeDeclareRefresh { .setCardNum(idNum) .setGender(StringUtils.equalsIgnoreCase(hrmEmployeeComInfo.getSex(), GenderEnum.MALE.name()) ? GenderEnum.MALE.getValue() : GenderEnum.FEMALE.getValue()) - .setBirthday(simpleUserInfo == null ? null : SalaryDateUtil.dateStrToLocalDate(simpleUserInfo.getBirthday())) + .setBirthday(simpleUserInfo == null || simpleUserInfo.getBirthday() == null ? null : SalaryDateUtil.dateStrToLocalDate(simpleUserInfo.getBirthday())) .setMobile(hrmEmployeeComInfo.getMobile()); if (StringUtils.isEmpty(idNum)) { employeeDeclare.setDeclareStatus(DeclareStatusEnum.DECLARE_FAIL.getValue()); diff --git a/src/com/engine/salary/mapper/employeedeclare/EmployeeDeclareMapper.java b/src/com/engine/salary/mapper/employeedeclare/EmployeeDeclareMapper.java index 29be31ae8..ce04c325a 100644 --- a/src/com/engine/salary/mapper/employeedeclare/EmployeeDeclareMapper.java +++ b/src/com/engine/salary/mapper/employeedeclare/EmployeeDeclareMapper.java @@ -47,6 +47,15 @@ public interface EmployeeDeclareMapper { */ int insertIgnoreNull(EmployeeDeclarePO employeeDeclare); + + + /** + * 批量插入 + * + * @param employeeDeclare + */ + void batchInsert(@Param("collection") List employeeDeclare); + /** * 修改,修改所有字段 * diff --git a/src/com/engine/salary/mapper/employeedeclare/EmployeeDeclareMapper.xml b/src/com/engine/salary/mapper/employeedeclare/EmployeeDeclareMapper.xml index 363ed51cf..e137ec1ab 100644 --- a/src/com/engine/salary/mapper/employeedeclare/EmployeeDeclareMapper.xml +++ b/src/com/engine/salary/mapper/employeedeclare/EmployeeDeclareMapper.xml @@ -2,43 +2,45 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - t.id + t + . + id , t.tax_agent_id , t.tax_cycle , t.employee_id @@ -75,7 +77,7 @@ @@ -83,15 +85,16 @@ - SELECT - + FROM hrsa_employee_declare t WHERE delete_type = 0 @@ -306,105 +309,332 @@ - + #{id}, - + #{taxAgentId}, - + #{taxCycle}, - + #{employeeId}, - + #{employeeType}, - + #{employeeName}, - + #{jobNum}, - + #{cardType}, - + #{cardNum}, - + #{gender}, - + #{birthday}, - + #{employmentStatus}, - + #{mobile}, - + #{employmentType}, - + #{employmentFirstYear}, - + #{employmentDate}, - + #{dismissDate}, - + #{disability}, - + #{disabilityCardNo}, - + #{lonelyOld}, - + #{martyrDependents}, - + #{martyrDependentsCardNo}, - + #{deductExpenses}, - + #{successfullyDeclared}, - + #{newEmployeeInfo}, - + #{declareStatus}, - + #{declareErrorMsg}, - + #{tenantKey}, - + #{creator}, - + #{deleteType}, - + #{createTime}, - + #{updateTime}, + + + INSERT INTO hrsa_employee_declare + ( + birthday, + card_num, + card_type, + create_time, + creator, + declare_error_msg, + declare_status, + deduct_expenses, + delete_type, + disability, + disability_card_no, + dismiss_date, + employee_id, + employee_name, + employee_type, + employment_date, + employment_first_year, + employment_status, + employment_type, + gender, + id, + job_Num, + lonely_old, + martyr_dependents, + martyr_dependents_card_no, + mobile, + new_employee_info, + successfully_declared, + tax_agent_id, + tax_cycle, + tenant_key, + update_time + ) + VALUES + ( + + #{item.birthday}, + #{item.cardNum}, + #{item.cardType}, + #{item.createTime}, + #{item.creator}, + #{item.declareErrorMsg}, + #{item.declareStatus}, + #{item.deductExpenses}, + #{item.deleteType}, + #{item.disability}, + #{item.disabilityCardNo}, + #{item.dismissDate}, + #{item.employeeId}, + #{item.employeeName}, + #{item.employeeType}, + #{item.employmentDate}, + #{item.employmentFirstYear}, + #{item.employmentStatus}, + #{item.employmentType}, + #{item.gender}, + #{item.id}, + #{item.jobNum}, + #{item.lonelyOld}, + #{item.martyrDependents}, + #{item.martyrDependentsCardNo}, + #{item.mobile}, + #{item.newEmployeeInfo}, + #{item.successfullyDeclared}, + #{item.taxAgentId}, + #{item.taxCycle}, + #{item.tenantKey}, + #{item.updateTime} + + ) + + + + + INSERT INTO hrsa_employee_declare ( + birthday, + card_num, + card_type, + create_time, + creator, + declare_error_msg, + declare_status, + deduct_expenses, + delete_type, + disability, + disability_card_no, + dismiss_date, + employee_id, + employee_name, + employee_type, + employment_date, + employment_first_year, + employment_status, + employment_type, + gender, + id, + job_Num, + lonely_old, + martyr_dependents, + martyr_dependents_card_no, + mobile, + new_employee_info, + successfully_declared, + tax_agent_id, + tax_cycle, + tenant_key, + update_time + ) + + + select + #{item.birthday,jdbcType=DATE}, + #{item.cardNum,jdbcType=VARCHAR}, + #{item.cardType,jdbcType=}, + #{item.createTime,jdbcType=DATE}, + #{item.creator,jdbcType=DOUBLE}, + #{item.declareErrorMsg,jdbcType=VARCHAR}, + #{item.declareStatus,jdbcType=INTEGER}, + #{item.deductExpenses,jdbcType=INTEGER}, + #{item.deleteType,jdbcType=INTEGER}, + #{item.disability,jdbcType=INTEGER}, + #{item.disabilityCardNo,jdbcType=VARCHAR}, + #{item.dismissDate,jdbcType=DATE}, + #{item.employeeId,jdbcType=DOUBLE}, + #{item.employeeName,jdbcType=VARCHAR}, + #{item.employeeType,jdbcType=INTEGER}, + #{item.employmentDate,jdbcType=DATE}, + #{item.employmentFirstYear,jdbcType=VARCHAR}, + #{item.employmentStatus,jdbcType=INTEGER}, + #{item.employmentType,jdbcType=INTEGER}, + #{item.gender,jdbcType=INTEGER}, + #{item.id,jdbcType=DOUBLE}, + #{item.jobNum,jdbcType=VARCHAR}, + #{item.lonelyOld,jdbcType=INTEGER}, + #{item.martyrDependents,jdbcType=INTEGER}, + #{item.martyrDependentsCardNo,jdbcType=VARCHAR}, + #{item.mobile,jdbcType=VARCHAR}, + #{item.newEmployeeInfo,jdbcType=INTEGER}, + #{item.successfullyDeclared,jdbcType=INTEGER}, + #{item.taxAgentId,jdbcType=DOUBLE}, + #{item.taxCycle,jdbcType=DATE}, + #{item.tenantKey,jdbcType=VARCHAR}, + #{item.updateTime,jdbcType=DATE} + from dual + + + + + + + INSERT INTO hrsa_employee_declare ( + birthday, + card_num, + card_type, + create_time, + creator, + declare_error_msg, + declare_status, + deduct_expenses, + delete_type, + disability, + disability_card_no, + dismiss_date, + employee_id, + employee_name, + employee_type, + employment_date, + employment_first_year, + employment_status, + employment_type, + gender, + id, + job_Num, + lonely_old, + martyr_dependents, + martyr_dependents_card_no, + mobile, + new_employee_info, + successfully_declared, + tax_agent_id, + tax_cycle, + tenant_key, + update_time + ) + VALUES + ( + #{item.birthday}, + #{item.cardNum}, + #{item.cardType}, + #{item.createTime}, + #{item.creator}, + #{item.declareErrorMsg}, + #{item.declareStatus}, + #{item.deductExpenses}, + #{item.deleteType}, + #{item.disability}, + #{item.disabilityCardNo}, + #{item.dismissDate}, + #{item.employeeId}, + #{item.employeeName}, + #{item.employeeType}, + #{item.employmentDate}, + #{item.employmentFirstYear}, + #{item.employmentStatus}, + #{item.employmentType}, + #{item.gender}, + #{item.id}, + #{item.jobNum}, + #{item.lonelyOld}, + #{item.martyrDependents}, + #{item.martyrDependentsCardNo}, + #{item.mobile}, + #{item.newEmployeeInfo}, + #{item.successfullyDeclared}, + #{item.taxAgentId}, + #{item.taxCycle}, + #{item.tenantKey}, + #{item.updateTime} + ) + + + + UPDATE hrsa_employee_declare @@ -449,97 +679,97 @@ UPDATE hrsa_employee_declare - + tax_agent_id=#{taxAgentId}, - + tax_cycle=#{taxCycle}, - + employee_id=#{employeeId}, - + employee_type=#{employeeType}, - + employee_name=#{employeeName}, - + job_num=#{jobNum}, - + card_type=#{cardType}, - + card_num=#{cardNum}, - + gender=#{gender}, - + birthday=#{birthday}, - + employment_status=#{employmentStatus}, - + mobile=#{mobile}, - + employment_type=#{employmentType}, - + employment_first_year=#{employmentFirstYear}, - + employment_date=#{employmentDate}, - + dismiss_date=#{dismissDate}, - + disability=#{disability}, - + disability_card_no=#{disabilityCardNo}, - + lonely_old=#{lonelyOld}, - + martyr_dependents=#{martyrDependents}, - + martyr_dependents_card_no=#{martyrDependentsCardNo}, - + deduct_expenses=#{deductExpenses}, - + successfully_declared=#{successfullyDeclared}, - + new_employee_info=#{newEmployeeInfo}, - + declare_status=#{declareStatus}, - + declare_error_msg=#{declareErrorMsg}, - + tenant_key=#{tenantKey}, - + creator=#{creator}, - + delete_type=#{deleteType}, - + create_time=#{createTime}, - + update_time=#{updateTime}, @@ -551,12 +781,13 @@ UPDATE hrsa_employee_declare SET delete_type=1 - WHERE id = #{id} AND delete_type = 0 + WHERE id = #{id} + AND delete_type = 0 UPDATE hrsa_employee_declare SET delete_type=1, - update_time = #{date} + update_time = #{date} WHERE delete_type = 0 AND id IN @@ -633,20 +864,20 @@ AND deduct_expenses = #{param.deductExpenses.value} - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/src/com/engine/salary/mapper/salarysob/SalarySobAddUpRuleMapper.xml b/src/com/engine/salary/mapper/salarysob/SalarySobAddUpRuleMapper.xml index 8f0b84e4a..34eefce6a 100644 --- a/src/com/engine/salary/mapper/salarysob/SalarySobAddUpRuleMapper.xml +++ b/src/com/engine/salary/mapper/salarysob/SalarySobAddUpRuleMapper.xml @@ -89,6 +89,12 @@ #{id} + + AND salary_sob_id IN + + #{salarySobId} + + ORDER BY id DESC diff --git a/src/com/engine/salary/service/impl/EmployeeDeclareServiceImpl.java b/src/com/engine/salary/service/impl/EmployeeDeclareServiceImpl.java index 56b87056b..1c1ae3b06 100644 --- a/src/com/engine/salary/service/impl/EmployeeDeclareServiceImpl.java +++ b/src/com/engine/salary/service/impl/EmployeeDeclareServiceImpl.java @@ -498,14 +498,16 @@ public class EmployeeDeclareServiceImpl extends Service implements EmployeeDecla // .setSimpleUserInfos(newSimpleUserInfos) // .setExtEmployees(newExtEmployees) EmployeeDeclareRefresh.Result result = EmployeeDeclareRefresh.refresh(dto, employeeId); -// // 保存新增的人员 -// if (CollectionUtils.isNotEmpty(result.getNewEmployeeDeclares())) { -// saveBatch(result.getNewEmployeeDeclares()); -// } -// // 更新已有人员 -// if (CollectionUtils.isNotEmpty(result.getEmployeeDeclares())) { + // 保存新增的人员 + if (CollectionUtils.isNotEmpty(result.getNewEmployeeDeclares())) { + result.getNewEmployeeDeclares().forEach(getEmployeeDeclareMapper()::insertIgnoreNull); +// getEmployeeDeclareMapper().batchInsert((result.getNewEmployeeDeclares())); + } + // 更新已有人员 + if (CollectionUtils.isNotEmpty(result.getEmployeeDeclares())) { + result.getEmployeeDeclares().forEach(getEmployeeDeclareMapper()::updateIgnoreNull); // updateBatchById(result.getEmployeeDeclares()); -// } + } // // 记录日志 // LoggerContext loggerContext = new LoggerContext<>(); // loggerContext.setTargetId(refreshParam.getTaxAgentId() + "-" + refreshParam.getTaxCycle().toString()); diff --git a/src/com/engine/salary/util/SalaryDateUtil.java b/src/com/engine/salary/util/SalaryDateUtil.java index af3eb35e2..ba9349296 100644 --- a/src/com/engine/salary/util/SalaryDateUtil.java +++ b/src/com/engine/salary/util/SalaryDateUtil.java @@ -224,7 +224,7 @@ public class SalaryDateUtil { Calendar c = Calendar.getInstance(); c.setTime(localDate); int year = c.get(Calendar.YEAR); - return year ; + return year; } public static LocalDateRange localDate2Range(Date localDate) { @@ -254,6 +254,7 @@ public class SalaryDateUtil { cal.set(Calendar.DAY_OF_MONTH, last); return cal.getTime(); } + public static Date getFirstDayDateOfMonthWithMinutesAndSeconds(final Date date) { final Calendar cal = Calendar.getInstance(); cal.setTime(date); @@ -291,8 +292,6 @@ public class SalaryDateUtil { } - - public static String getMonthBegin(String specifiedDay) { int year; int month; @@ -495,7 +494,7 @@ public class SalaryDateUtil { localDate = format.parse(date); } } catch (Exception e) { - log.error("日期解析异常,{}", date); + log.error("日期解析异常,{}", date, e); localDate = null; } @@ -514,7 +513,7 @@ public class SalaryDateUtil { localDate = format.parse(date); } } catch (Exception e) { - log.error("日期解析异常,{}", date); + log.error("日期解析异常,{}", date, e); localDate = null; } @@ -532,7 +531,7 @@ public class SalaryDateUtil { localDate = format.parse(date); } } catch (Exception e) { - log.error("日期解析异常,{}", date); + log.error("日期解析异常,{}", date, e); localDate = null; } @@ -563,9 +562,10 @@ public class SalaryDateUtil { /** * 转换时间对象 - * @see SalaryDateUtil#toDate(LocalDateTime, String) + * * @param dateTime LocalDateTime * @return Date + * @see SalaryDateUtil#toDate(LocalDateTime, String) */ public static Date toDate(LocalDateTime dateTime) { return toDate(dateTime, null); @@ -574,8 +574,9 @@ public class SalaryDateUtil { /** * 转换时间对象 + * * @param dateTime LocalDateTime - * @param offset 时区,e.g. +8 + * @param offset 时区,e.g. +8 * @return Date */ public static Date toDate(LocalDateTime dateTime, String offset) { diff --git a/src/com/engine/salary/wrapper/EmployeeDeclareWrapper.java b/src/com/engine/salary/wrapper/EmployeeDeclareWrapper.java index 553151fe5..8cae00d11 100644 --- a/src/com/engine/salary/wrapper/EmployeeDeclareWrapper.java +++ b/src/com/engine/salary/wrapper/EmployeeDeclareWrapper.java @@ -108,12 +108,12 @@ public class EmployeeDeclareWrapper extends Service { */ public Map list(EmployeeDeclareListQueryParam queryParam) { ValidUtil.doValidator(queryParam); + PageInfo pageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), EmployeeDeclareListDTO.class); List employeeDeclarePOS = getEmployeeDeclareService(user).listByParam(queryParam); + pageInfo.setTotal(employeeDeclarePOS.size()); employeeDeclarePOS = SalaryPageUtil.subList(queryParam.getCurrent(), queryParam.getPageSize(), employeeDeclarePOS); List convert = getEmployeeDeclareService(user).convert(employeeDeclarePOS); - PageInfo pageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), EmployeeDeclareListDTO.class); pageInfo.setList(convert); - pageInfo.setTotal(employeeDeclarePOS.size()); // // 判断是否开启分部 // boolean subcompanySupport = hrmConfigSetCache.isSubcompanySupport(tenantKey);