三表一册数据来源
This commit is contained in:
parent
1ac1304762
commit
e67f6b8bb8
|
|
@ -22,6 +22,7 @@ public class ThreeTableOneRosterPo {
|
|||
//1.花名册
|
||||
private String firstEinTime;
|
||||
private String lastExitTime;
|
||||
private String isOnJob;
|
||||
//2.农民工实名制工资信息报审表
|
||||
private String bankName;
|
||||
private String bankCardCode;
|
||||
|
|
@ -36,6 +37,7 @@ public class ThreeTableOneRosterPo {
|
|||
private String einDay;
|
||||
private String attDay;
|
||||
private String isRepair;
|
||||
private Integer monthDay;
|
||||
private String attendanceDay;
|
||||
private Integer checkDay;
|
||||
private Integer repairNum;
|
||||
|
|
|
|||
|
|
@ -77,4 +77,19 @@ public interface WorkerJobMapper {
|
|||
* @return
|
||||
*/
|
||||
List<ThreeTableOneRosterPo> getWorkerPayData(@Param("attMonth") String attMonth, @Param("proId") Integer proId);
|
||||
|
||||
/**
|
||||
* 插入数据
|
||||
* @param listRoster
|
||||
*/
|
||||
void insertWorkerPay(List<ThreeTableOneRosterPo> listRoster);
|
||||
|
||||
/**
|
||||
* 获取数据
|
||||
* @param string
|
||||
* @return
|
||||
*/
|
||||
boolean getThreeTableOneRosterDataByLastMonth(String string);
|
||||
|
||||
void deleteWorkerPay(String lastMonth);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,11 +50,18 @@ public class ThreeTableOneRosterTask {
|
|||
// 上个月第一天:先得到本月第一天,再减一个月
|
||||
LocalDate firstDayOfLastMonth = YearMonth.now().minusMonths(1).atDay(1);
|
||||
|
||||
// 获取上一个月的天数(即该月最后一天是几号)
|
||||
int daysInLastMonth = lastMonth.lengthOfMonth();
|
||||
|
||||
String startTime = firstDayOfLastMonth.format(FORMATTER)+" 00:00:00";
|
||||
String endTime = firstDayOfThisMonth.format(FORMATTER)+" 00:00:00";
|
||||
|
||||
//先去检测上一月是否已经生成三表一册
|
||||
boolean isExist = mapper.getThreeTableOneRosterDataByLastMonth(lastMonth.toString());
|
||||
|
||||
//查询所有有人在场的工程
|
||||
List<MapBeanVo> listPro = mapper.getAllPro(lastMonth.toString());
|
||||
List<ThreeTableOneRosterPo> listRosterAll = new ArrayList<>();
|
||||
listPro.forEach(mapBeanVo -> {
|
||||
//每个工程去循环生成
|
||||
//1.花名册
|
||||
|
|
@ -86,6 +93,8 @@ public class ThreeTableOneRosterTask {
|
|||
// 遍历listRoster,填充数据
|
||||
listRoster.forEach(roster -> {
|
||||
String key = roster.getWorkerId() + "_" + roster.getProId();
|
||||
roster.setIsOnJob(roster.getLastExitTime() != null && !roster.getLastExitTime().isEmpty() ? "1" : "0");
|
||||
roster.setMonthDay(daysInLastMonth);
|
||||
// 从listApply中查找匹配的数据
|
||||
ThreeTableOneRosterPo applyData = applyMap.get(key);
|
||||
if (applyData != null) {
|
||||
|
|
@ -96,6 +105,7 @@ public class ThreeTableOneRosterTask {
|
|||
roster.setContractId(applyData.getContractId());
|
||||
roster.setPriceWage(applyData.getPriceWage());
|
||||
roster.setPayment(applyData.getPayment());
|
||||
roster.setPayDay(applyData.getPayDay());
|
||||
}
|
||||
|
||||
// 从listAttDeal中查找匹配的数据
|
||||
|
|
@ -115,13 +125,15 @@ public class ThreeTableOneRosterTask {
|
|||
roster.setDeductMoney(0.0);
|
||||
roster.setActualMoney(calculatePayMoney);
|
||||
});
|
||||
|
||||
listRosterAll.addAll(listRoster);
|
||||
});
|
||||
|
||||
|
||||
|
||||
//1.花名册
|
||||
|
||||
if(!listRosterAll.isEmpty()){
|
||||
//插入数据
|
||||
if(isExist){
|
||||
mapper.deleteWorkerPay(lastMonth.toString());
|
||||
}
|
||||
mapper.insertWorkerPay(listRosterAll);
|
||||
}
|
||||
}catch (Exception e){
|
||||
logger.error("人员入场更新表失败,{}",e.getMessage());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -116,13 +116,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
d.team_name,
|
||||
d.worker_id,
|
||||
pw.`name`,
|
||||
pw.sex,
|
||||
if(pw.sex = '男',1,0) as sex,
|
||||
d.post_id,
|
||||
d.post_name,
|
||||
d.id_number,
|
||||
pw.address,
|
||||
pw.phone,
|
||||
'remark' as remark,
|
||||
'花名册备注' as remark,
|
||||
-- 正确的最早入场时间:所有与8月相关的入场中最早的
|
||||
MIN(p.ein_time) AS first_ein_time,
|
||||
-- 获取最后一次“相关入场”的出场时间(即使为 null)
|
||||
|
|
@ -179,7 +179,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
bwc.day_rate as price_wage,
|
||||
'按月支付' AS payment,
|
||||
'每月20日前' AS pay_day,
|
||||
'备注' AS remark,
|
||||
'工资卡备注' AS remark,
|
||||
pw.phone
|
||||
FROM
|
||||
bm_worker_ein_day_record d
|
||||
|
|
@ -235,4 +235,68 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
|
||||
<select id="getWorkerPayData" resultType="com.bonus.job.domain.ThreeTableOneRosterPo">
|
||||
</select>
|
||||
|
||||
<insert id="insertWorkerPay">
|
||||
insert into tb_pro_month_table_roster
|
||||
(
|
||||
pro_id,
|
||||
pro_name,
|
||||
month,
|
||||
month_day,
|
||||
sub_id,
|
||||
sub_name,
|
||||
team_id,
|
||||
team_name,
|
||||
user_id,
|
||||
user_name,
|
||||
id_card,
|
||||
sex,
|
||||
work_id,
|
||||
work_name,
|
||||
unit_and_code,
|
||||
period,
|
||||
residence,
|
||||
phone,
|
||||
remark,
|
||||
in_time,
|
||||
out_time,
|
||||
on_duty,
|
||||
bank_name,
|
||||
bank_card_code,
|
||||
bank_identifier_code,
|
||||
contract_id,
|
||||
price_wage,
|
||||
payment,
|
||||
pay_day,
|
||||
attendance_num,
|
||||
check_day,
|
||||
repair_num,
|
||||
attendance_day,
|
||||
pay_money,
|
||||
deduct_money,
|
||||
actual_money
|
||||
)values
|
||||
<foreach item="item" collection="list" index="index" separator=",">
|
||||
(#{item.proId},#{item.proName},#{item.attMonth},#{item.monthDay},#{item.subId},#{item.subName},#{item.teamId},#{item.teamName},#{item.workerId},
|
||||
#{item.name},#{item.idNumber},#{item.sex},#{item.postId},#{item.postName},'','',#{item.address},#{item.phone},
|
||||
#{item.remark},#{item.firstEinTime},#{item.lastExitTime},#{item.isOnJob},#{item.bankName},#{item.bankCardCode},#{item.bankIdentifierCode},
|
||||
#{item.contractId},#{item.priceWage},#{item.payment},#{item.payDay},#{item.attendanceNum},#{item.checkDay},#{item.repairNum},
|
||||
#{item.attendanceDay},#{item.payMoney},#{item.deductMoney},#{item.actualMoney})
|
||||
</foreach>
|
||||
|
||||
|
||||
</insert>
|
||||
|
||||
<select id="getThreeTableOneRosterDataByLastMonth" resultType="boolean">
|
||||
SELECT
|
||||
COUNT(1) AS count
|
||||
FROM
|
||||
tb_pro_month_table_roster
|
||||
WHERE
|
||||
month = #{lastMonth}
|
||||
</select>
|
||||
|
||||
<delete id="deleteWorkerPay">
|
||||
delete from tb_pro_month_table_roster where month = #{lastMonth}
|
||||
</delete>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue