SQL 修改
This commit is contained in:
parent
414b6ef953
commit
fed39e960b
|
|
@ -130,7 +130,7 @@
|
|||
|
||||
<update id="updateRedTimeValidByFFC">
|
||||
update "ynrealname"."fc_face_contrast" set "is_red_att" = #{params.isValid}
|
||||
where ID_NUMBER = #{params.idNumber} and PRO_ID = #{params.proId} and CURRENT_DAY = #{params.currentDay}
|
||||
where "id_number" = #{params.idNumber} and "pro_id" = #{params.proId} and "current_day" = #{params.currentDay}
|
||||
</update>
|
||||
<update id="updateRedLightRecord">
|
||||
update "ynrealname"."bm_worker_red_time" set "payroll_id" = #{id}
|
||||
|
|
@ -142,250 +142,255 @@
|
|||
</delete>
|
||||
|
||||
<select id="getList" resultType="com.bonus.bmw.salary.entity.SalaryBookBean">
|
||||
SELECT bsb.id,bsb.company_id AS companyId,bsb.pro_id AS proId,bsb.sub_id AS subId,
|
||||
bsb."name",bp."name" AS proName,bsb.start_date AS startDate,bs.sub_name AS subName,
|
||||
bsb.stop_date AS stopDate,bsb.upload_time AS uploadTime,
|
||||
bsb.remark,bsb.invoice_amount AS invoiceAmount,
|
||||
bsb.examine_status AS examStatus,bsb.examine_remark AS examRemark,
|
||||
bsb.grant_status AS grantStatus,pc."NAME" AS companyName,
|
||||
bsb.is_active AS isActive,COUNT(sbud.id_number) AS personNum,
|
||||
ROUND(SUM(sbud.payable_amount),2) AS actualMoney,
|
||||
ROUND(SUM(sbud.payin_amount),2) AS shouldMoney,
|
||||
su.username AS uploadUser FROM "ynrealname"."bm_salary_book" AS bsb
|
||||
LEFT JOIN "ynrealname"."bm_project" bp ON bsb.pro_id = bp.id
|
||||
LEFT JOIN "ynrealname"."pm_company" pc ON bsb.company_id = pc.ID
|
||||
LEFT JOIN "ynrealname"."salary_book_upload_details" sbud ON bsb.id = sbud.salary_id
|
||||
LEFT JOIN "ynrealname"."sys_user" su ON bsb.upload_user = su.id
|
||||
LEFT JOIN "ynrealname"."bm_subcontractor" bs ON bsb.sub_id = bs.id AND bs.is_active = '1'
|
||||
WHERE bsb.is_active = '1' AND sbud."name" IS NOT NULL
|
||||
SELECT bsb."id", bsb."company_id" AS companyId, bsb."pro_id" AS proId, bsb."sub_id" AS subId,
|
||||
bsb."name", bp."name" AS proName, bsb."start_date" AS startDate, bs."sub_name" AS subName,
|
||||
bsb."stop_date" AS stopDate, bsb."upload_time" AS uploadTime,
|
||||
bsb."remark", bsb."invoice_amount" AS invoiceAmount,
|
||||
bsb."examine_status" AS examStatus, bsb."examine_remark" AS examRemark,
|
||||
bsb."grant_status" AS grantStatus, pc."name" AS companyName,
|
||||
bsb."is_active" AS isActive, COUNT(sbud."id_number") AS personNum,
|
||||
ROUND(SUM(sbud."payable_amount"), 2) AS actualMoney,
|
||||
ROUND(SUM(sbud."payin_amount"), 2) AS shouldMoney,
|
||||
su."username" AS uploadUser
|
||||
FROM "ynrealname"."bm_salary_book" bsb
|
||||
LEFT JOIN "ynrealname"."bm_project" bp ON bsb."pro_id" = bp."id"
|
||||
LEFT JOIN "ynrealname"."pm_company" pc ON bsb."company_id" = pc."id"
|
||||
LEFT JOIN "ynrealname"."salary_book_upload_details" sbud ON bsb."id" = sbud."salary_id"
|
||||
LEFT JOIN "ynrealname"."sys_user" su ON bsb."upload_user" = su."id"
|
||||
LEFT JOIN "ynrealname"."bm_subcontractor" bs ON bsb."sub_id" = bs."id" AND bs."is_active" = '1'
|
||||
WHERE bsb."is_active" = '1' AND sbud."name" IS NOT NULL
|
||||
<if test='params.html != null and params.html != "" '>
|
||||
AND (
|
||||
bsb.examine_status like CONCAT('%','1','%') or
|
||||
bsb.examine_status like CONCAT('%','3','%') or
|
||||
bsb.examine_status like CONCAT('%','5','%') or
|
||||
bsb.examine_status like CONCAT('%','7','%')
|
||||
INSTR(bsb."examine_status", '1') > 0 OR
|
||||
INSTR(bsb."examine_status", '3') > 0 OR
|
||||
INSTR(bsb."examine_status", '5') > 0 OR
|
||||
INSTR(bsb."examine_status", '7') > 0
|
||||
)
|
||||
</if>
|
||||
<if test='params.keyWord != null and params.keyWord != "" '>
|
||||
AND (
|
||||
bs.sub_name like CONCAT('%',#{params.keyWord},'%') or
|
||||
bp."name" like CONCAT('%',#{params.keyWord},'%')
|
||||
bs."sub_name" like ('%' || #{params.keyWord} || '%') OR
|
||||
bp."name" like ('%' || #{params.keyWord} || '%')
|
||||
)
|
||||
</if>
|
||||
<if test='params.proId != null and params.proId != "" '>
|
||||
AND bp.id = #{params.proId}
|
||||
AND bp."id" = #{params.proId}
|
||||
</if>
|
||||
GROUP BY bsb.id, bsb.company_id, bsb.pro_id, bsb.sub_id, bsb."name", bp."name", bsb.start_date, bs.sub_name, bsb.stop_date, bsb.upload_time, bsb.remark, bsb.invoice_amount, bsb.examine_status, bsb.examine_remark, bsb.grant_status, pc."NAME", bsb.is_active, su.username
|
||||
ORDER BY bsb.upload_time DESC
|
||||
GROUP BY bsb."id", bsb."company_id", bsb."pro_id", bsb."sub_id", bsb."name", bp."name", bsb."start_date", bs."sub_name", bsb."stop_date", bsb."upload_time", bsb."remark", bsb."invoice_amount", bsb."examine_status", bsb."examine_remark", bsb."grant_status", pc."name", bsb."is_active", su."username"
|
||||
ORDER BY bsb."upload_time" DESC
|
||||
OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY
|
||||
</select>
|
||||
|
||||
<select id="getCount" resultType="java.lang.Integer">
|
||||
SELECT count(DISTINCT(bsb.id)) FROM "ynrealname"."bm_salary_book" AS bsb
|
||||
LEFT JOIN "ynrealname"."bm_project" bp ON bsb.pro_id = bp.id
|
||||
LEFT JOIN "ynrealname"."bm_subcontractor" bs ON bsb.sub_id = bs.id AND bs.is_active = '1'
|
||||
LEFT JOIN "ynrealname"."salary_book_upload_details" sbud ON bsb.id = sbud.salary_id
|
||||
WHERE bsb.is_active = '1' AND sbud."name" IS NOT NULL
|
||||
SELECT count(DISTINCT(bsb."id"))
|
||||
FROM "ynrealname"."bm_salary_book" bsb
|
||||
LEFT JOIN "ynrealname"."bm_project" bp ON bsb."pro_id" = bp."id"
|
||||
LEFT JOIN "ynrealname"."bm_subcontractor" bs ON bsb."sub_id" = bs."id" AND bs."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."salary_book_upload_details" sbud ON bsb."id" = sbud."salary_id"
|
||||
WHERE bsb."is_active" = '1' AND sbud."name" IS NOT NULL
|
||||
<if test='params.html != null and params.html != "" '>
|
||||
AND (
|
||||
bsb.examine_status like CONCAT('%','1','%') or
|
||||
bsb.examine_status like CONCAT('%','3','%') or
|
||||
bsb.examine_status like CONCAT('%','5','%') or
|
||||
bsb.examine_status like CONCAT('%','7','%')
|
||||
INSTR(bsb."examine_status", '1') > 0 OR
|
||||
INSTR(bsb."examine_status", '3') > 0 OR
|
||||
INSTR(bsb."examine_status", '5') > 0 OR
|
||||
INSTR(bsb."examine_status", '7') > 0
|
||||
)
|
||||
</if>
|
||||
<if test='params.keyWord != null and params.keyWord != "" '>
|
||||
AND (
|
||||
bs.sub_name like CONCAT('%',#{params.keyWord},'%') or
|
||||
bp."name" like CONCAT('%',#{params.keyWord},'%')
|
||||
bs."sub_name" like ('%' || #{params.keyWord} || '%') OR
|
||||
bp."name" like ('%' || #{params.keyWord} || '%')
|
||||
)
|
||||
</if>
|
||||
<if test='params.proId != null and params.proId != "" '>
|
||||
AND bp.id = #{params.proId}
|
||||
AND bp."id" = #{params.proId}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getExportViewList" resultType="com.bonus.bmw.salary.entity.SalaryBookBean">
|
||||
SELECT
|
||||
bs.sub_name AS subName,
|
||||
bs."sub_name" AS subName,
|
||||
bp."name" AS proName,
|
||||
sbud.pro_id,
|
||||
pay_month,
|
||||
sbud."pro_id",
|
||||
sbud."pay_month",
|
||||
sbud."name",
|
||||
sbud.id_number AS idNumber,
|
||||
sbud.bank_name AS bankName,
|
||||
bank_number AS bankCard,
|
||||
sbud.teamMan,
|
||||
sbud.work_type AS postName,
|
||||
sbud.salary_calc_type,
|
||||
sbud.salary_calc_sta,
|
||||
sbud.work_situation,
|
||||
sbud.phone,
|
||||
sbud.base_salary AS baseSalary,
|
||||
sbud.payin_amount AS shouldMoney,
|
||||
sbud.payable_amount AS actualMoney,
|
||||
sbud.remark
|
||||
sbud."id_number" AS idNumber,
|
||||
sbud."bank_name" AS bankName,
|
||||
sbud."bank_number" AS bankCard,
|
||||
sbud."teamMan",
|
||||
sbud."work_type" AS postName,
|
||||
sbud."salary_calc_type",
|
||||
sbud."salary_calc_sta",
|
||||
sbud."work_situation",
|
||||
sbud."phone",
|
||||
sbud."base_salary" AS baseSalary,
|
||||
sbud."payin_amount" AS shouldMoney,
|
||||
sbud."payable_amount" AS actualMoney,
|
||||
sbud."remark"
|
||||
FROM
|
||||
"ynrealname"."salary_book_upload_details" AS sbud
|
||||
LEFT JOIN "ynrealname"."bm_project" bp ON bp.id = sbud.pro_id AND bp.is_active = '1'
|
||||
LEFT JOIN "ynrealname"."bm_subcontractor" bs ON bs.id = sbud.sub_id AND bs.is_active = '1'
|
||||
"ynrealname"."salary_book_upload_details" sbud
|
||||
LEFT JOIN "ynrealname"."bm_project" bp ON bp."id" = sbud."pro_id" AND bp."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."bm_subcontractor" bs ON bs."id" = sbud."sub_id" AND bs."is_active" = '1'
|
||||
WHERE
|
||||
sbud.salary_id = #{params.id}
|
||||
sbud."salary_id" = #{params.id}
|
||||
OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY
|
||||
</select>
|
||||
|
||||
<select id="getExportViewCount" resultType="java.lang.Integer">
|
||||
SELECT count(id_number)
|
||||
SELECT count("id_number")
|
||||
FROM
|
||||
"ynrealname"."salary_book_upload_details"
|
||||
WHERE
|
||||
salary_id = #{params.id}
|
||||
"salary_id" = #{params.id}
|
||||
</select>
|
||||
|
||||
<select id="getExamViewList" resultType="com.bonus.bmw.salary.entity.SalaryBookBean">
|
||||
SELECT
|
||||
sbud.id_number AS idNumber,
|
||||
sbud."id_number" AS idNumber,
|
||||
sbud."name",
|
||||
sbud.bank_number AS bankCard,
|
||||
sbud.bank_name AS bankName,
|
||||
sbud.phone,
|
||||
sbud.work_type AS workType,
|
||||
sbud.salary_calc_type AS salaryCalcType,
|
||||
sbud.salary_calc_sta AS salaryCalcSta,
|
||||
sbud.work_situation AS workSituation,
|
||||
sbud.base_salary AS baseSalary,
|
||||
sbud.reward_salary AS rewardSalary,
|
||||
sbud.payin_amount AS shouldMoney,
|
||||
sbud.tax_salary AS taxSalary,
|
||||
sbud.teamMan,
|
||||
sbud.payable_amount AS actualMoney,
|
||||
sbud.remark
|
||||
FROM "ynrealname"."salary_book_upload_details" AS sbud
|
||||
WHERE sbud.salary_id = #{params.id}
|
||||
sbud."bank_number" AS bankCard,
|
||||
sbud."bank_name" AS bankName,
|
||||
sbud."phone",
|
||||
sbud."work_type" AS workType,
|
||||
sbud."salary_calc_type" AS salaryCalcType,
|
||||
sbud."salary_calc_sta" AS salaryCalcSta,
|
||||
sbud."work_situation" AS workSituation,
|
||||
sbud."base_salary" AS baseSalary,
|
||||
sbud."reward_salary" AS rewardSalary,
|
||||
sbud."payin_amount" AS shouldMoney,
|
||||
sbud."tax_salary" AS taxSalary,
|
||||
sbud."teamMan",
|
||||
sbud."payable_amount" AS actualMoney,
|
||||
sbud."remark"
|
||||
FROM "ynrealname"."salary_book_upload_details" sbud
|
||||
WHERE sbud."salary_id" = #{params.id}
|
||||
<if test="params.keyWord != null and params.keyWord != ''">
|
||||
and sbud."name" like concat('%', #{params.keyWord}, '%')
|
||||
and sbud."name" like ('%' || #{params.keyWord} || '%')
|
||||
</if>
|
||||
OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY
|
||||
</select>
|
||||
|
||||
<select id="getExamViewListCount" resultType="java.lang.Integer">
|
||||
SELECT count(*)
|
||||
FROM "ynrealname"."salary_book_upload_details" AS sbud
|
||||
WHERE sbud.salary_id = #{params.id}
|
||||
FROM "ynrealname"."salary_book_upload_details" sbud
|
||||
WHERE sbud."salary_id" = #{params.id}
|
||||
<if test="params.keyWord != null and params.keyWord != ''">
|
||||
and sbud."name" like concat('%', #{params.keyWord}, '%')
|
||||
and sbud."name" like ('%' || #{params.keyWord} || '%')
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getGenerateList" resultType="com.bonus.bmw.salary.entity.SalaryBookBean">
|
||||
SELECT
|
||||
ffc.ID_NUMBER as idNumber,
|
||||
bw."name",
|
||||
bw.phone,
|
||||
ffc.PRO_ID as proId,
|
||||
bwc.wageApprovedWay as salaryCalcType,
|
||||
bwc.wageCriterion as salaryCalcSta,
|
||||
bwb.BANK_CARD as bankCard,
|
||||
bwb.BANK_NAME as bankName,
|
||||
bwb.ROLL_BANK_NAME as bankBrank,
|
||||
sdd."value" as workType,
|
||||
count(DISTINCT ffc.CURRENT_DAY) AS workDays,
|
||||
bwr.EIN_TIME einTime,
|
||||
bwr.EXIT_TIME exitTime,
|
||||
bwc.wageApprovedWay wageApprovedWay,
|
||||
bwc.wageCriterion wageCriterion,
|
||||
bsc.sub_id AS subId
|
||||
ffc.id_number as idNumber,
|
||||
MAX(bw."name"),
|
||||
MAX(bw."phone"),
|
||||
MAX(ffc."pro_id") as proId,
|
||||
MAX(bwc."wageApprovedWay") as salaryCalcType,
|
||||
MAX(bwc."wageCriterion") as salaryCalcSta,
|
||||
MAX(bwb."bank_card") as bankCard,
|
||||
MAX(bwb."bank_name") as bankName,
|
||||
MAX(bwb."roll_bank_name") as bankBrank,
|
||||
MAX(sdd."value") as workType,
|
||||
count(DISTINCT ffc."current_day") AS workDays,
|
||||
MAX(bwr."ein_time") einTime,
|
||||
MAX(bwr."exit_time") exitTime,
|
||||
MAX(bwc."wageApprovedWay") wageApprovedWay,
|
||||
MAX(bwc."wageCriterion") wageCriterion,
|
||||
MAX(bsc."sub_id") AS subId
|
||||
FROM
|
||||
"ynrealname"."fc_face_contrast" ffc
|
||||
LEFT JOIN "ynrealname"."bm_team_user_relation" btur ON btur.id_number = ffc.ID_NUMBER and btur.is_active = '1'
|
||||
LEFT JOIN "ynrealname"."bm_sub_team" bst ON btur.team_id = bst.id and bst.is_active = '1'
|
||||
LEFT JOIN "ynrealname"."bm_sub_relation" bsr ON bst.id = bsr."value" and bsr.is_active = '1' and bsr.type = '3'
|
||||
LEFT JOIN "ynrealname"."bm_sub_contract" bsc ON bsr.sub_contract_id = bsc.id and bsc.is_active = '1' AND bsc.sub_id =
|
||||
LEFT JOIN "ynrealname"."bm_team_user_relation" btur ON btur."id_number" = ffc."id_number" and btur."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."bm_sub_team" bst ON btur."team_id" = bst."id" and bst."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."bm_sub_relation" bsr ON bst."id" = bsr."value" and bsr."is_active" = '1' and bsr."type" = '3'
|
||||
LEFT JOIN "ynrealname"."bm_sub_contract" bsc ON bsr."sub_contract_id" = bsc."id" and bsc."is_active" = '1' AND bsc."sub_id" =
|
||||
#{params.subId}
|
||||
LEFT JOIN "ynrealname"."bm_worker" bw ON bw.id_number = ffc.ID_NUMBER AND bw.IS_ACTIVE = '1'
|
||||
LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bwc.idCard = ffc.ID_NUMBER AND bwc.is_active = '1'
|
||||
LEFT JOIN "ynrealname"."bm_worker_payroll" bwp ON bwp.ID_NUMBER = ffc.ID_NUMBER AND bwp.is_active = '1'
|
||||
LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bwb.ID_NUMBER = ffc.ID_NUMBER AND bwb.is_active = '1'
|
||||
LEFT JOIN "ynrealname"."bm_worker_ein_history" bwr ON bwr.ID_NUMBER = ffc.ID_NUMBER AND bwr.is_active = '1'
|
||||
LEFT JOIN "ynrealname"."t_dict" sdd ON sdd.id = bwr.POST_ID AND sdd.is_active = '1'
|
||||
LEFT JOIN "ynrealname"."bm_worker" bw ON bw."id_number" = ffc."id_number" AND bw."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bwc."idCard" = ffc."id_number" AND bwc."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."bm_worker_payroll" bwp ON bwp."id_number" = ffc."id_number" AND bwp."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bwb."id_number" = ffc."id_number" AND bwb."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."bm_worker_ein_history" bwr ON bwr."id_number" = ffc."id_number" AND bwr."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."t_dict" sdd ON sdd."id" = bwr."post_id" AND sdd."is_active" = '1'
|
||||
|
||||
WHERE ffc.is_active = '1' AND ffc.CURRENT_DAY BETWEEN #{params.startDate} and #{params.stopDate} AND bsc.sub_id
|
||||
WHERE ffc.is_active = '1' AND ffc."current_day" BETWEEN #{params.startDate} and #{params.stopDate} AND bsc."sub_id"
|
||||
IS NOT NULL
|
||||
AND bsc.pro_id = #{params.proId}
|
||||
AND bsc.sub_id = #{params.subId}
|
||||
AND bsc."pro_id" = #{params.proId}
|
||||
AND bsc."sub_id" = #{params.subId}
|
||||
<if test='params.keyWord != null and params.keyWord != "" '>
|
||||
AND (
|
||||
ffc.ID_NUMBER like CONCAT('%',#{params.keyWord},'%') or
|
||||
bw."name" like CONCAT('%',#{params.keyWord},'%')
|
||||
ffc."id_number" like ('%' || #{params.keyWord} || '%') or
|
||||
bw."name" like ('%' || #{params.keyWord} || '%')
|
||||
)
|
||||
</if>
|
||||
GROUP BY ffc.ID_NUMBER, bw."name", bw.phone, ffc.PRO_ID, bwc.wageApprovedWay, bwc.wageCriterion, bwb.BANK_CARD, bwb.BANK_NAME, bwb.ROLL_BANK_NAME, sdd."value", bwr.EIN_TIME, bwr.EXIT_TIME, bsc.sub_id
|
||||
GROUP BY ffc."id_number"
|
||||
OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY
|
||||
</select>
|
||||
|
||||
<select id="getGenerateListCount" resultType="java.lang.Integer">
|
||||
SELECT count(*) FROM "ynrealname"."fc_face_contrast" ffc
|
||||
LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bwc.idCard = ffc.ID_NUMBER
|
||||
LEFT JOIN "ynrealname"."bm_worker_payroll" bwp ON bwp.ID_NUMBER = ffc.ID_NUMBER
|
||||
LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bwb.ID_NUMBER = ffc.ID_NUMBER
|
||||
LEFT JOIN "ynrealname"."bm_worker_ein_history" bwr ON bwr.ID_NUMBER = ffc.ID_NUMBER
|
||||
LEFT JOIN "ynrealname"."t_dict" sdd ON sdd.id = bwr.POST_ID
|
||||
LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bwc."idCard" = ffc."id_number"
|
||||
LEFT JOIN "ynrealname"."bm_worker_payroll" bwp ON bwp."id_number" = ffc."id_number"
|
||||
LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bwb."id_number" = ffc."id_number"
|
||||
LEFT JOIN "ynrealname"."bm_worker_ein_history" bwr ON bwr."id_number" = ffc."id_number"
|
||||
LEFT JOIN "ynrealname"."t_dict" sdd ON sdd."id" = bwr."post_id"
|
||||
</select>
|
||||
|
||||
<select id="getBookIdByTime" resultType="java.lang.Integer">
|
||||
select id from "ynrealname"."bm_salary_book" where upload_time = #{uploadTime}
|
||||
select "id" from "ynrealname"."bm_salary_book" where "upload_time" = #{uploadTime}
|
||||
</select>
|
||||
|
||||
<select id="getEinRecordByProSub" resultType="com.bonus.bmw.salary.entity.SalaryBookBean">
|
||||
SELECT COUNT(id_number) as number,id_number AS idNumber,ein_time AS einTime,CASE WHEN exit_status = '1' THEN exit_time ELSE NULL END AS exitTime,is_active FROM "ynrealname"."bm_worker_ein_history" bweh
|
||||
WHERE bweh.project_id = #{proId}
|
||||
AND bweh.sub_id = #{subId}
|
||||
GROUP BY id_number,ein_time, CASE WHEN exit_status = '1' THEN exit_time ELSE NULL END, is_active
|
||||
SELECT COUNT("id_number") as number,"id_number" AS idNumber,"ein_time" AS einTime,
|
||||
CASE WHEN "exit_status" = '1' THEN "exit_time" ELSE NULL END AS exitTime,
|
||||
"is_active"
|
||||
FROM "ynrealname"."bm_worker_ein_history" bweh
|
||||
WHERE bweh."project_id" = #{proId}
|
||||
AND bweh."sub_id" = #{subId}
|
||||
GROUP BY "id_number","ein_time"
|
||||
</select>
|
||||
|
||||
<select id="getEinRecordInfoByIdNumber" resultType="com.bonus.bmw.salary.entity.SalaryBookBean">
|
||||
SELECT
|
||||
ffc.ID_NUMBER AS idNumber,
|
||||
bw.`name`,
|
||||
ffc.id_number AS idNumber,
|
||||
bw."name",
|
||||
bw.phone,
|
||||
ffc.PRO_ID AS proId,
|
||||
ffc.pro_id AS proId,
|
||||
bwc.wageApprovedWay AS salaryCalcType,
|
||||
bwc.wageCriterion AS salaryCalcSta,
|
||||
bwb.BANK_CARD AS bankCard,
|
||||
bwb.BANK_NAME AS bankName,
|
||||
bwb.ROLL_BANK_NAME AS bankBrank,
|
||||
sdd.`value` AS workType,
|
||||
count( DISTINCT ffc.CURRENT_DAY ) AS workDays,
|
||||
bwr.EIN_TIME einTime,
|
||||
bwr.EXIT_TIME exitTime,
|
||||
bwb.bank_card AS bankCard,
|
||||
bwb.bank_name AS bankName,
|
||||
bwb.roll_bank_name AS bankBrank,
|
||||
sdd."value" AS workType,
|
||||
count( DISTINCT ffc.current_day ) AS workDays,
|
||||
bwr.ein_time einTime,
|
||||
bwr.exit_time exitTime,
|
||||
bwc.wageApprovedWay wageApprovedWay,
|
||||
bwc.wageCriterion wageCriterion,
|
||||
bsc.sub_id AS subId
|
||||
FROM
|
||||
fc_face_contrast ffc
|
||||
LEFT JOIN bm_team_user_relation btur ON btur.id_number = ffc.ID_NUMBER AND btur.is_active = '1'
|
||||
LEFT JOIN bm_sub_team bst ON btur.team_id = bst.id AND bst.is_active = '1'
|
||||
LEFT JOIN bm_sub_relation bsr ON bst.id = bsr.`value` AND bsr.is_active = '1' AND bsr.type = '3'
|
||||
LEFT JOIN bm_sub_contract bsc ON bsr.sub_contract_id = bsc.id AND bsc.is_active = '1' AND bsc.sub_id = '24'
|
||||
LEFT JOIN bm_worker bw ON bw.id_number = ffc.ID_NUMBER AND bw.IS_ACTIVE = '1'
|
||||
LEFT JOIN bm_worker_contract bwc ON bwc.idCard = ffc.ID_NUMBER AND bwc.is_active = '1'
|
||||
LEFT JOIN bm_worker_payroll bwp ON bwp.ID_NUMBER = ffc.ID_NUMBER AND bwp.is_active = '1'
|
||||
LEFT JOIN bm_worker_bank bwb ON bwb.ID_NUMBER = ffc.ID_NUMBER AND bwb.is_active = '1'
|
||||
LEFT JOIN bm_worker_ein_history bwr ON bwr.ID_NUMBER = ffc.ID_NUMBER AND bwr.is_active = '1'
|
||||
LEFT JOIN t_dict sdd ON sdd.id = bwr.POST_ID AND sdd.is_active = '1'
|
||||
"ynrealname"."fc_face_contrast" ffc
|
||||
LEFT JOIN "ynrealname"."bm_team_user_relation" btur ON btur."id_number" = ffc."id_number" AND btur."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."bm_sub_team" bst ON btur."team_id" = bst."id" AND bst."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."bm_sub_relation" bsr ON bst."id" = bsr."value" AND bsr."is_active" = '1' AND bsr."type" = '3'
|
||||
LEFT JOIN "ynrealname"."bm_sub_contract" bsc ON bsr."sub_contract_id" = bsc."id" AND bsc."is_active" = '1' AND bsc."sub_id" = '24'
|
||||
LEFT JOIN "ynrealname"."bm_worker" bw ON bw."id_number" = ffc."id_number" AND bw."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bwc."idCard" = ffc."id_number" AND bwc."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."bm_worker_payroll" bwp ON bwp."id_number" = ffc."id_number" AND bwp."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bwb."id_number" = ffc."id_number" AND bwb."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."bm_worker_ein_history" bwr ON bwr."id_number" = ffc."id_number" AND bwr."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."t_dict" sdd ON sdd."id" = bwr."post_id" AND sdd."is_active" = '1'
|
||||
WHERE
|
||||
ffc.is_active = '1'
|
||||
AND ffc.ID_NUMBER in(
|
||||
ffc."is_active" = '1'
|
||||
AND ffc."id_number" in(
|
||||
<foreach collection="list" separator="," item="item">
|
||||
#{item.idNumber}
|
||||
</foreach>)
|
||||
AND
|
||||
<foreach collection="list" index="index" item="obj" open="(" separator="or" close=")">
|
||||
(ffc.CURRENT_DAY BETWEEN #{obj.startDate} AND #{obj.stopDate})
|
||||
(ffc."current_day" BETWEEN #{obj.startDate} AND #{obj.stopDate})
|
||||
</foreach>
|
||||
AND bsc.sub_id IS NOT NULL
|
||||
AND bsc."sub_id" IS NOT NULL
|
||||
GROUP BY
|
||||
ffc.ID_NUMBER
|
||||
ffc."id_number"
|
||||
</select>
|
||||
|
||||
<select id="getEinRecordInfoByIdNumbers" resultType="com.bonus.bmw.salary.entity.SalaryBookBean">
|
||||
|
|
@ -395,35 +400,43 @@
|
|||
FROM
|
||||
(
|
||||
SELECT
|
||||
ffc.ID_NUMBER AS idNumber,
|
||||
bw.`name`,
|
||||
bw.phone,
|
||||
ffc.PRO_ID AS proId,
|
||||
bwc.wageApprovedWay AS salaryCalcType,
|
||||
bwc.wageCriterion AS salaryCalcSta,
|
||||
bwb.BANK_CARD AS bankCard,
|
||||
bwb.BANK_NAME AS bankName,
|
||||
bwb.ROLL_BANK_NAME AS bankBrank,
|
||||
sdd.`value` AS workType,
|
||||
ffc.CURRENT_DAY AS workDay,
|
||||
bwr.EIN_TIME einTime,
|
||||
bwr.EXIT_TIME exitTime,
|
||||
bwc.wageApprovedWay wageApprovedWay,
|
||||
bwc.wageCriterion wageCriterion,
|
||||
bsc.sub_id AS subId
|
||||
ffc."id_number" AS idNumber,
|
||||
bw."name",
|
||||
bw."phone",
|
||||
ffc."pro_id" AS proId,
|
||||
bwc."wageApprovedWay" AS salaryCalcType,
|
||||
bwc."wageCriterion" AS salaryCalcSta,
|
||||
bwb."bank_card" AS bankCard,
|
||||
bwb."bank_name" AS bankName,
|
||||
bwb."roll_bank_name" AS bankBrank,
|
||||
sdd."value" AS workType,
|
||||
ffc."current_day" AS workDay,
|
||||
bwr."ein_time" einTime,
|
||||
bwr."exit_time" exitTime,
|
||||
bwc."wageApprovedWay" wageApprovedWay,
|
||||
bwc."wageCriterion" wageCriterion,
|
||||
bsc."sub_id" AS subId
|
||||
FROM
|
||||
( SELECT * FROM fc_face_contrast WHERE CURRENT_DAY BETWEEN #{obj.startDate} AND #{obj.stopDate} AND is_active = '1' AND ID_NUMBER = #{obj.idNumber} GROUP BY
|
||||
CURRENT_DAY,attendance_type) ffc
|
||||
LEFT JOIN bm_team_user_relation btur ON btur.id_number = #{obj.idNumber} AND btur.is_active = '1'
|
||||
LEFT JOIN bm_sub_team bst ON btur.team_id = bst.id AND bst.is_active = '1'
|
||||
LEFT JOIN bm_sub_relation bsr ON bst.id = bsr.`value` AND bsr.is_active = '1' AND bsr.type = '3'
|
||||
LEFT JOIN bm_sub_contract bsc ON bsr.sub_contract_id = bsc.id AND bsc.is_active = '1' AND bsc.sub_id = #{params.subId}
|
||||
LEFT JOIN bm_worker bw ON bw.id_number = #{obj.idNumber} AND bw.IS_ACTIVE = '1'
|
||||
LEFT JOIN (SELECT * FROM bm_worker_contract WHERE idCard = #{obj.idNumber} AND LEFT(upload_time,10) <= #{obj.stopDate} ORDER BY upload_time DESC LIMIT 1) bwc ON bwc.idCard = ffc.ID_NUMBER
|
||||
LEFT JOIN (SELECT * FROM bm_worker_payroll WHERE ID_NUMBER = #{obj.idNumber} LIMIT 1) bwp ON bwp.ID_NUMBER = #{obj.idNumber} AND bwp.is_active = '1'
|
||||
LEFT JOIN bm_worker_bank bwb ON bwb.ID_NUMBER = #{obj.idNumber} AND bwb.is_active = '1'
|
||||
LEFT JOIN bm_worker_ein_history bwr ON bwr.ID_NUMBER = #{obj.idNumber} AND bwr.is_active = '1'
|
||||
LEFT JOIN t_dict sdd ON sdd.id = bwr.POST_ID AND sdd.is_active = '1'
|
||||
( SELECT * FROM "ynrealname"."fc_face_contrast" WHERE "current_day" BETWEEN #{obj.startDate} AND #{obj.stopDate} AND "is_active" = '1' AND "id_number" = #{obj.idNumber} GROUP BY
|
||||
"current_day","attendance_type") ffc
|
||||
LEFT JOIN "ynrealname"."bm_team_user_relation" btur ON btur."id_number" = #{obj.idNumber} AND btur."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."bm_sub_team" bst ON btur."team_id" = bst."id" AND bst."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."bm_sub_relation" bsr ON bst."id" = bsr."value" AND bsr."is_active" = '1' AND bsr."type" = '3'
|
||||
LEFT JOIN "ynrealname"."bm_sub_contract" bsc ON bsr."sub_contract_id" = bsc."id" AND bsc."is_active" = '1' AND bsc."sub_id" = #{params.subId}
|
||||
LEFT JOIN "ynrealname"."bm_worker" bw ON bw."id_number" = #{obj.idNumber} AND bw."is_active" = '1'
|
||||
LEFT JOIN (
|
||||
SELECT * FROM "ynrealname"."bm_worker_contract"
|
||||
WHERE "idCard" = #{obj.idNumber} AND SUBSTR("upload_time",1,10) <= #{obj.stopDate}
|
||||
ORDER BY upload_time DESC FETCH FIRST 1 ROWS ONLY
|
||||
) bwc ON bwc."idCard" = ffc."id_number"
|
||||
LEFT JOIN (
|
||||
SELECT * FROM "ynrealname"."bm_worker_payroll"
|
||||
WHERE "id_number" = #{obj.idNumber}
|
||||
FETCH FIRST 1 ROWS ONLY
|
||||
) bwp ON bwp."id_number" = #{obj.idNumber} AND bwp."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bwb."id_number" = #{obj.idNumber} AND bwb."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."bm_worker_ein_history" bwr ON bwr."id_number" = #{obj.idNumber} AND bwr."is_active" = '1'
|
||||
LEFT JOIN "ynrealname"."t_dict" sdd ON sdd.id = bwr.POST_ID AND sdd.is_active = '1'
|
||||
) a
|
||||
GROUP BY
|
||||
idNumber
|
||||
|
|
@ -433,18 +446,17 @@
|
|||
select
|
||||
bweh.id_number as idNumber,
|
||||
bweh.ein_time as einTime,
|
||||
IF(bweh.exit_status = '1',IF(bweh.exit_examine_time is null,bweh.exit_time,bweh.exit_examine_time),NULL) AS
|
||||
exitTime,
|
||||
CASE WHEN bweh.exit_status = '1' THEN (CASE WHEN bweh.exit_examine_time is null THEN bweh.exit_time ELSE bweh.exit_examine_time END) ELSE NULL END AS exitTime,
|
||||
bst.team_name AS teamName,
|
||||
bw.`name` as teamMan,
|
||||
td.`value` as postName,bweh.contract_id,
|
||||
bw."name" as teamMan,
|
||||
td."value" as postName,bweh.contract_id,
|
||||
bwc.wageCriterion
|
||||
FROM
|
||||
bm_worker_ein_history bweh
|
||||
LEFT JOIN bm_sub_team bst ON bst.id = bweh.team_id
|
||||
left JOIN bm_worker bw ON bw.id_number = bst.team_idnumber
|
||||
LEFT JOIN t_dict td ON td.id = bweh.post_id and td.type = 'postType'
|
||||
LEFT JOIN bm_worker_contract bwc ON bweh.contract_id = bwc.id
|
||||
"ynrealname"."bm_worker_ein_history" bweh
|
||||
LEFT JOIN "ynrealname"."bm_sub_team" bst ON bst.id = bweh.team_id
|
||||
left JOIN "ynrealname"."bm_worker" bw ON bw.id_number = bst.team_idnumber
|
||||
LEFT JOIN "ynrealname"."t_dict" td ON td.id = bweh.post_id and td.type = 'postType'
|
||||
LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bweh.contract_id = bwc.id
|
||||
WHERE
|
||||
bweh.id_number = #{idNumber}
|
||||
and bweh.project_id = #{params.proId}
|
||||
|
|
@ -462,23 +474,23 @@
|
|||
</select>
|
||||
|
||||
<select id="getEinRecordByProSubHaving" resultType="com.bonus.bmw.salary.entity.SalaryBookBean">
|
||||
SELECT a.number,COUNT(DISTINCT ffc.CURRENT_DAY) AS workDays,a.idNumber,a.einTime,a.exitTime,btur.create_time
|
||||
SELECT a.number,COUNT(DISTINCT ffc."current_day") AS workDays,a.idNumber,a.einTime,a.exitTime,btur.create_time
|
||||
FROM (
|
||||
SELECT
|
||||
COUNT(bweh.id_number) AS number,
|
||||
bweh.id_number AS idNumber,
|
||||
bweh.ein_time AS einTime,
|
||||
IF(bweh.exit_status = '1', bweh.exit_time, NULL) AS exitTime,
|
||||
bweh.is_active
|
||||
COUNT(bweh."id_number") AS number,
|
||||
bweh."id_number" AS idNumber,
|
||||
bweh."ein_time" AS einTime,
|
||||
CASE WHEN bweh."exit_status" = '1' THEN bweh."exit_time" ELSE NULL END AS exitTime,
|
||||
bweh."is_active"
|
||||
FROM
|
||||
bm_worker_ein_history bweh
|
||||
"ynrealname"."bm_worker_ein_history" bweh
|
||||
WHERE
|
||||
bweh.project_id = #{params.proId} AND bweh.sub_id = #{params.subId}
|
||||
bweh."project_id" = #{params.proId} AND bweh."sub_id" = #{params.subId}
|
||||
GROUP BY
|
||||
bweh.id_number
|
||||
bweh."id_number"
|
||||
) a
|
||||
LEFT JOIN fc_face_contrast ffc ON a.idNumber = ffc.ID_NUMBER AND ffc.CURRENT_DAY BETWEEN #{params.startDate} AND #{params.stopDate}
|
||||
LEFT JOIN (SELECT * FROM bm_team_user_relation WHERE #{params.stopDate} > create_time and is_active = '1') btur ON a.idNumber = btur.id_number
|
||||
LEFT JOIN "ynrealname"."fc_face_contrast" ffc ON a.idNumber = ffc."id_number" AND ffc."current_day" BETWEEN #{params.startDate} AND #{params.stopDate}
|
||||
LEFT JOIN (SELECT * FROM "ynrealname"."bm_team_user_relation" WHERE #{params.stopDate} > create_time and is_active = '1') btur ON a.idNumber = btur."id_number"
|
||||
GROUP BY a.idNumber
|
||||
HAVING workDays > 0
|
||||
ORDER BY btur.create_time
|
||||
|
|
@ -490,12 +502,12 @@
|
|||
FROM
|
||||
(
|
||||
SELECT
|
||||
ffc.ID_NUMBER AS idNumber,
|
||||
ffc.PRO_ID AS proId,
|
||||
ffc.CURRENT_DAY AS workDay
|
||||
ffc."id_number" AS idNumber,
|
||||
ffc."pro_id" AS proId,
|
||||
ffc."current_day" AS workDay
|
||||
FROM
|
||||
( SELECT * FROM fc_face_contrast WHERE CURRENT_DAY BETWEEN #{obj.startDate} AND #{obj.stopDate} AND is_active = '1' AND is_red_att = '1' AND ID_NUMBER = #{obj.idNumber}
|
||||
GROUP BY CURRENT_DAY,attendance_type) ffc
|
||||
( SELECT * FROM "ynrealname"."fc_face_contrast" WHERE "current_day" BETWEEN #{obj.startDate} AND #{obj.stopDate} AND "is_active" = '1' AND "is_red_att" = '1' AND "id_number" = #{obj.idNumber}
|
||||
GROUP BY "current_day","attendance_type") ffc
|
||||
) a
|
||||
GROUP BY
|
||||
idNumber
|
||||
|
|
@ -540,14 +552,14 @@
|
|||
count( 1 )
|
||||
FROM
|
||||
"ynrealname"."bm_worker_red_time" bwrt
|
||||
INNER JOIN ( SELECT id_number, pro_id, CURRENT_DAY FROM "ynrealname"."fc_face_contrast" WHERE CURRENT_DAY BETWEEN #{startDate}
|
||||
AND #{stopDate} GROUP BY id_number, CURRENT_DAY ) ffc ON ffc.ID_NUMBER = bwrt.id_number
|
||||
AND ffc.CURRENT_DAY = bwrt.current_day
|
||||
INNER JOIN ( SELECT "id_number", "pro_id", "current_day" FROM "ynrealname"."fc_face_contrast" WHERE "current_day" BETWEEN #{startDate}
|
||||
AND #{stopDate} GROUP BY "id_number", "current_day" ) ffc ON ffc."id_number" = bwrt."id_number"
|
||||
AND ffc."current_day" = bwrt."current_day"
|
||||
WHERE
|
||||
bwrt.pro_id = #{proId}
|
||||
AND bwrt.sub_id = #{subId}
|
||||
AND bwrt.is_confirm = '0'
|
||||
AND bwrt.current_day BETWEEN #{startDate}
|
||||
bwrt."pro_id" = #{proId}
|
||||
AND bwrt."sub_id" = #{subId}
|
||||
AND bwrt."is_confirm" = '0'
|
||||
AND bwrt."current_day" BETWEEN #{startDate}
|
||||
AND #{stopDate}
|
||||
</select>
|
||||
<select id="getNotDealRedLight" resultType="com.bonus.bmw.salary.entity.WorkRedTimeBean">
|
||||
|
|
@ -572,8 +584,7 @@
|
|||
COUNT( bweh.id_number ) AS number,
|
||||
bweh.id_number AS idNumber,
|
||||
bweh.ein_time AS einTime,
|
||||
IF
|
||||
( bweh.exit_status = '1', IF ( bweh.exit_examine_time IS NULL, bweh.exit_time, bweh.exit_examine_time ), NULL ) AS exitTime,
|
||||
CASE WHEN bweh.exit_status = '1', CASE WHEN bweh.exit_examine_time IS NULL, bweh.exit_time, bweh.exit_examine_time END, NULL ) AS exitTime,
|
||||
bst.team_name AS teamName,
|
||||
td.`value` as postName,
|
||||
bw.`name` as teamMan,
|
||||
|
|
@ -606,50 +617,52 @@
|
|||
<select id="getContractAndWageByIdNumber" resultType="com.bonus.bmw.salary.entity.SalaryBookBean">
|
||||
SELECT
|
||||
bw.id_number,
|
||||
bw.`name`,
|
||||
bw.`phone`,
|
||||
bwb.BANK_NAME,
|
||||
bwb.BANK_CARD,
|
||||
bwc.wageApprovedWay as salaryCalcType,
|
||||
bwc.wageCriterion as salaryCalcSta
|
||||
bw."name",
|
||||
bw."phone",
|
||||
bwb."bank_name",
|
||||
bwb."bank_card",
|
||||
bwc."wageApprovedWay" as salaryCalcType,
|
||||
bwc."wageCriterion" as salaryCalcSta
|
||||
FROM
|
||||
bm_worker bw
|
||||
LEFT JOIN bm_worker_bank bwb ON bwb.ID_NUMBER = bw.id_number and bwb.is_active = '1'
|
||||
LEFT JOIN (SELECT * FROM bm_worker_contract WHERE idCard = #{idNumber} AND LEFT(upload_time,10) <= #{params.stopDate} ORDER BY upload_time DESC LIMIT 1) bwc ON bwc.idCard = bw.ID_NUMBER
|
||||
WHERE bw.ID_NUMBER = #{idNumber}
|
||||
"ynrealname"."bm_worker" bw
|
||||
LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bwb."id_number" = bw."id_number" and bwb."is_active" = '1'
|
||||
LEFT JOIN (
|
||||
SELECT * FROM "ynrealname"."bm_worker_contract" WHERE "idCard" = #{idNumber} AND SUBSTR("upload_time",1,10) <= #{params.stopDate} ORDER BY upload_time DESC FETCH FIRST 1 ROWS ONLY
|
||||
) bwc ON bwc."idCard" = bw."id_number"
|
||||
WHERE bw."id_number" = #{idNumber}
|
||||
</select>
|
||||
|
||||
<select id="getWageByIdNumber" resultType="com.bonus.bmw.salary.entity.SalaryBookBean">
|
||||
SELECT
|
||||
bw.id_number,
|
||||
bw.`name`,
|
||||
bw.`phone`,
|
||||
bwb.BANK_NAME,
|
||||
bwb.BANK_CARD
|
||||
bw."name",
|
||||
bw."phone",
|
||||
bwb."bank_name",
|
||||
bwb."bank_card"
|
||||
FROM
|
||||
bm_worker bw
|
||||
LEFT JOIN bm_worker_bank bwb ON bwb.ID_NUMBER = bw.id_number and bwb.is_active = '1'
|
||||
WHERE bw.ID_NUMBER = #{idNumber}
|
||||
"ynrealname"."bm_worker" bw
|
||||
LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bwb."id_number" = bw."id_number" and bwb."is_active" = '1'
|
||||
WHERE bw."id_number" = #{idNumber}
|
||||
</select>
|
||||
|
||||
<select id="selectSalaryWorkerList" resultType="com.bonus.bmw.salarystat.entity.SalaryRecordHisBean">
|
||||
select salary_id, name, id_number, DATE_FORMAT(pay_month, '%Y-%m') as payMonth,
|
||||
pro_id, sub_id from salary_book_upload_details
|
||||
where salary_id = #{id} and name is not null
|
||||
select "salary_id", "name", "id_number", to_char("pay_month", 'YYYY-MM') as "payMonth",
|
||||
"pro_id", "sub_id" from "ynrealname"."salary_book_upload_details"
|
||||
where "salary_id" = #{id} and "name" is not null
|
||||
</select>
|
||||
|
||||
<select id="selectSalaryWorkerAttList"
|
||||
resultType="com.bonus.bmw.salarystat.entity.SalaryRecordAttBean">
|
||||
select id_number, CURRENT_DAY as currentDate, attendance_type from fc_face_contrast
|
||||
where ID_NUMBER = #{idNumber}
|
||||
and CURRENT_DAY like CONCAT(#{payMonth},'%')
|
||||
and PRO_ID = #{proId}
|
||||
GROUP BY ID_NUMBER, CURRENT_DAY, attendance_type
|
||||
select "id_number", "current_day" as "currentDate", "attendance_type" from "ynrealname"."fc_face_contrast"
|
||||
where "id_number" = #{idNumber}
|
||||
and "current_day" like (#{payMonth} || '%')
|
||||
and "pro_id" = #{proId}
|
||||
GROUP BY "id_number", "current_day", "attendance_type"
|
||||
</select>
|
||||
|
||||
<insert id="insertSalaryRecordHis">
|
||||
INSERT INTO `bm_salary_record_his`(`pro_id`, `sub_id`, `id_number`, `pay_month`,
|
||||
`current_date`, `att_day_num`, `salary_id`)
|
||||
INSERT INTO "ynrealname"."bm_salary_record_his"("pro_id", "sub_id", "id_number", "pay_month",
|
||||
"current_date", "att_day_num", "salary_id")
|
||||
VALUES
|
||||
<foreach item="item" collection="list" separator="," index="index">
|
||||
(
|
||||
|
|
@ -661,26 +674,26 @@
|
|||
|
||||
<select id="exportSalaryBookFill" resultType="com.bonus.bmw.salary.entity.ExportSalaryBookBean">
|
||||
SELECT
|
||||
sbud.id_number AS idNumber,
|
||||
sbud."id_number" AS idNumber,
|
||||
sbud."name",
|
||||
sbud.bank_number AS bankCard,
|
||||
sbud.bank_name AS bankName,
|
||||
sbud.phone,
|
||||
sbud.work_type AS workType,
|
||||
sbud.salary_calc_type AS salaryCalcType,
|
||||
sbud.salary_calc_sta AS salaryCalcSta,
|
||||
sbud.work_situation AS workSituation,
|
||||
sbud.base_salary AS baseSalary,
|
||||
sbud.reward_salary AS rewardSalary,
|
||||
sbud.payin_amount AS shouldMoney,
|
||||
sbud.tax_salary AS taxSalary,
|
||||
sbud.teamMan,
|
||||
sbud.payable_amount AS actualMoney,
|
||||
sbud.remark
|
||||
FROM "ynrealname"."salary_book_upload_details" AS sbud
|
||||
WHERE sbud.salary_id = #{params.id}
|
||||
sbud."bank_number" AS bankCard,
|
||||
sbud."bank_name" AS bankName,
|
||||
sbud."phone",
|
||||
sbud."work_type" AS workType,
|
||||
sbud."salary_calc_type" AS salaryCalcType,
|
||||
sbud."salary_calc_sta" AS salaryCalcSta,
|
||||
sbud."work_situation" AS workSituation,
|
||||
sbud."base_salary" AS baseSalary,
|
||||
sbud."reward_salary" AS rewardSalary,
|
||||
sbud."payin_amount" AS shouldMoney,
|
||||
sbud."tax_salary" AS taxSalary,
|
||||
sbud."teamMan",
|
||||
sbud."payable_amount" AS actualMoney,
|
||||
sbud."remark"
|
||||
FROM "ynrealname"."salary_book_upload_details" sbud
|
||||
WHERE sbud."salary_id" = #{params.id}
|
||||
<if test="params.keyWord != null and params.keyWord != ''">
|
||||
and sbud."name" like concat('%', #{params.keyWord}, '%')
|
||||
and sbud."name" like ('%' || #{params.keyWord} || '%')
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -4,222 +4,373 @@
|
|||
<mapper namespace="com.bonus.bmw.salarystat.dao.SalaryStatDao">
|
||||
|
||||
<select id="selectSalaryByProList" resultType="com.bonus.bmw.salarystat.entity.SalaryProStatBean">
|
||||
<![CDATA[
|
||||
select a.*, (a.attNum - a.grantSalaryNum) as notSendNum from(
|
||||
select vpc.*, NVL(a.grantSalaryNum, 0) as grantSalaryNum, NVL(a.payMonth, '无发放') as payMonth,
|
||||
NVL(a.salaryNum, 0) as salaryNum, NVL(b.attNum, 0) as attNum, a.salaryId
|
||||
from "ynrealname"."v_pro_com" vpc
|
||||
left join (
|
||||
select a.pro_id, a.pay_month as payMonth,
|
||||
WM_CONCAT(DISTINCT a.salary_id) as salaryId,
|
||||
count(DISTINCT a.id_number) as grantSalaryNum,
|
||||
count(DISTINCT a.salary_id) as salaryNum from
|
||||
SELECT
|
||||
a.*,
|
||||
(a.attNum - a.grantSalaryNum) AS notSendNum
|
||||
FROM
|
||||
(
|
||||
select * from "ynrealname"."bm_salary_record_his" bsrh
|
||||
WHERE bsrh.pay_month >= #{params.startMonth} AND bsrh.pay_month <= #{params.endMonth}
|
||||
GROUP BY bsrh.id_number, bsrh.salary_id, bsrh.pay_month
|
||||
) a GROUP BY a.pay_month, a.pro_id
|
||||
) a on a.pro_id = vpc.proId
|
||||
left join (
|
||||
select b.pro_id, count(DISTINCT b.id_number) as attNum, b.month from(
|
||||
select b.id_number, b.pro_id, b.month from(
|
||||
select *, TO_CHAR(CURRENT_DAY, 'YYYY-MM') as month from "ynrealname"."fc_face_contrast"
|
||||
where "year_month" BETWEEN #{params.startMonth} and #{params.endMonth}
|
||||
GROUP BY ID_NUMBER, TO_CHAR(CURRENT_DAY, 'YYYY-MM')
|
||||
) b left join (
|
||||
select bweh.id_number, TO_CHAR(ein_time, 'YYYY-MM-DD') as einTime,
|
||||
project_id, TO_CHAR(exit_time, 'YYYY-MM-DD') as exitTime
|
||||
from "ynrealname"."bm_worker_ein_history" bweh
|
||||
where TO_CHAR(ein_time, 'YYYY-MM') <= #{params.endMonth}
|
||||
and sub_id != 0 and team_id != 0
|
||||
) bweh on bweh.id_number = b.id_number and (
|
||||
CASE WHEN bweh.exitTime is null THEN TO_CHAR(b.CURRENT_DAY, 'YYYY-MM-DD') >= bweh.einTime
|
||||
ELSE TO_CHAR(b.CURRENT_DAY, 'YYYY-MM-DD') BETWEEN bweh.einTime and bweh.exitTime END)
|
||||
where bweh.id_number is not null
|
||||
) b GROUP BY b.pro_id, b.month
|
||||
) b on b.PRO_ID = vpc.proId and a.payMonth = b.month
|
||||
ORDER BY vpc.companyId
|
||||
) a
|
||||
where 1=1
|
||||
]]>
|
||||
SELECT
|
||||
vpc.*,
|
||||
NVL(a.grantSalaryNum, 0) AS grantSalaryNum,
|
||||
NVL(a.payMonth, '无发放') AS payMonth,
|
||||
NVL(a.salaryNum, 0) AS salaryNum,
|
||||
NVL(b.attNum, 0) AS attNum,
|
||||
a.salaryId
|
||||
FROM
|
||||
"ynrealname"."v-pro-com" vpc
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
a."pro_id",
|
||||
a."pay_month" AS payMonth,
|
||||
WM_CONCAT(DISTINCT a."salary_id") AS salaryId,
|
||||
count(DISTINCT a."id_number") AS grantSalaryNum,
|
||||
count(DISTINCT a."salary_id") AS salaryNum
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
bsrh."id_number",
|
||||
bsrh."salary_id",
|
||||
bsrh."pay_month",
|
||||
MAX(bsrh."pro_id") AS "pro_id"
|
||||
FROM
|
||||
"ynrealname"."bm_salary_record_his" bsrh
|
||||
WHERE
|
||||
bsrh."pay_month" >= #{params.startMonth}
|
||||
AND bsrh."pay_month" <= #{params.endMonth}
|
||||
GROUP BY
|
||||
bsrh."id_number",
|
||||
bsrh."salary_id",
|
||||
bsrh."pay_month" ) a
|
||||
GROUP BY
|
||||
a."pay_month",
|
||||
a."pro_id" ) a ON
|
||||
a."pro_id" = vpc."proId"
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
b."pro_id",
|
||||
count(DISTINCT b."id_number") AS attNum,
|
||||
b."month"
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
b."id_number",
|
||||
MAX(b."pro_id") as "pro_id",
|
||||
MAX(b."month") as "month"
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
ffc."id_number",
|
||||
ffc."pro_id",
|
||||
TO_CHAR(ffc."current_day", 'YYYY-MM') AS "month",
|
||||
ffc."current_day"
|
||||
FROM
|
||||
"ynrealname"."fc_face_contrast" ffc
|
||||
WHERE
|
||||
ffc."year_month" BETWEEN #{params.startMonth} AND #{params.endMonth}
|
||||
GROUP BY
|
||||
ffc."id_number",
|
||||
ffc."pro_id",
|
||||
TO_CHAR(ffc."current_day", 'YYYY-MM'),
|
||||
ffc."current_day") b
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
bweh."id_number",
|
||||
TO_CHAR(bweh."ein_time", 'YYYY-MM-DD') AS einTime,
|
||||
bweh."project_id",
|
||||
TO_CHAR(bweh."exit_time", 'YYYY-MM-DD') AS exitTime
|
||||
FROM
|
||||
"ynrealname"."bm_worker_ein_history" bweh
|
||||
WHERE
|
||||
TO_CHAR(bweh."ein_time", 'YYYY-MM') <= #{params.endMonth}
|
||||
AND bweh."sub_id" != 0
|
||||
AND bweh."team_id" != 0 ) bweh ON
|
||||
bweh."id_number" = b."id_number"
|
||||
WHERE
|
||||
(bweh.exitTime IS NULL AND TO_CHAR(b."current_day", 'YYYY-MM-DD') >= bweh.einTime)
|
||||
OR (bweh.exitTime IS NOT NULL AND TO_CHAR(b."current_day", 'YYYY-MM-DD') BETWEEN bweh.einTime AND bweh.exitTime)
|
||||
GROUP BY
|
||||
b."id_number" ) b
|
||||
GROUP BY
|
||||
b."pro_id",
|
||||
b."month" ) b ON
|
||||
b."pro_id" = vpc."proId"
|
||||
AND a.payMonth = b."month"
|
||||
ORDER BY
|
||||
vpc."companyId" ) a
|
||||
WHERE
|
||||
1 = 1
|
||||
<if test="params.companyId != null and params.companyId != '' ">
|
||||
and a.companyId = #{params.companyId}
|
||||
and a."companyId" = #{params.companyId}
|
||||
</if>
|
||||
<if test="params.proName != null and params.proName != '' ">
|
||||
and a.proName like concat('%',#{params.proName},'%')
|
||||
and a."proName" like ('%' || #{params.proName} || '%')
|
||||
</if>
|
||||
<if test="params.name != null and params.name != '' ">
|
||||
and a.NAME like concat('%',#{params.name},'%')
|
||||
and a."name" like ('%' || #{params.name} || '%')
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="selectSalaryByWorkerList" resultType="com.bonus.bmw.salarystat.entity.SalaryProStatBean">
|
||||
SELECT * FROM (
|
||||
SELECT bw.NAME, bw.id_number, bw.phone, att.MONTH as payMonth, att.attDayNum,
|
||||
SELECT bw."name", bw."id_number", bw."phone", att."month" as payMonth, att.attDayNum,
|
||||
CASE WHEN bsth.id_number IS NULL THEN 0 ELSE 1 END AS isWages,
|
||||
NVL(bsth.salaryName, 0) as salaryName, bsth.salaryId
|
||||
FROM (
|
||||
<![CDATA[
|
||||
select ffc.id_number, ffc.month, count( DISTINCT
|
||||
TO_CHAR(ffc.ID_NUMBER) || '_' || TO_CHAR(ffc.CURRENT_DAY,'YYYY-MM-DD') ) AS attDayNum from (
|
||||
SELECT id_number, CURRENT_DAY, TO_CHAR( CURRENT_DAY,
|
||||
'YYYY-MM' ) AS MONTH FROM "ynrealname"."fc_face_contrast"
|
||||
select ffc."id_number", ffc."month", count( DISTINCT
|
||||
TO_CHAR(ffc."id_number") || '_' || TO_CHAR(ffc."current_day",'YYYY-MM-DD') ) AS attDayNum from (
|
||||
SELECT "id_number", "current_day", TO_CHAR( "current_day",
|
||||
'YYYY-MM' ) AS "month" FROM "ynrealname"."fc_face_contrast"
|
||||
WHERE "year_month" = #{params.payMonth}
|
||||
AND pro_id = #{params.proId}
|
||||
GROUP BY ID_NUMBER, CURRENT_DAY
|
||||
AND "pro_id" = #{params.proId}
|
||||
GROUP BY "id_number", "current_day"
|
||||
) ffc left join (
|
||||
select bweh.id_number, TO_CHAR(ein_time, 'YYYY-MM-DD') as einTime,
|
||||
project_id, TO_CHAR(exit_time, 'YYYY-MM-DD') as exitTime
|
||||
select bweh."id_number", TO_CHAR("ein_time", 'YYYY-MM-DD') as einTime,
|
||||
"project_id", TO_CHAR("exit_time", 'YYYY-MM-DD') as exitTime
|
||||
from "ynrealname"."bm_worker_ein_history" bweh
|
||||
where TO_CHAR(ein_time, 'YYYY-MM') <= #{params.payMonth}
|
||||
and sub_id != 0 and team_id != 0 and project_id = #{params.proId}
|
||||
) bweh on bweh.id_number = ffc.id_number and (
|
||||
CASE WHEN bweh.exitTime is null THEN TO_CHAR(ffc.CURRENT_DAY,'YYYY-MM-DD') >= bweh.einTime
|
||||
ELSE TO_CHAR(ffc.CURRENT_DAY,'YYYY-MM-DD') BETWEEN bweh.einTime and bweh.exitTime END)
|
||||
where bweh.id_number is not null
|
||||
GROUP BY ffc.ID_NUMBER
|
||||
where TO_CHAR("ein_time", 'YYYY-MM') <= #{params.payMonth}
|
||||
and "sub_id" != 0 and "team_id" != 0 and "project_id" = #{params.proId}
|
||||
) bweh on bweh."id_number" = ffc."id_number" and (
|
||||
CASE WHEN bweh.exitTime is null THEN TO_CHAR(ffc."current_day",'YYYY-MM-DD') >= bweh.einTime
|
||||
ELSE TO_CHAR(ffc."current_day",'YYYY-MM-DD') BETWEEN bweh.einTime and bweh.exitTime END)
|
||||
where bweh."id_number" is not null
|
||||
GROUP BY ffc."id_number"
|
||||
]]>
|
||||
) att
|
||||
LEFT JOIN "ynrealname"."bm_worker" bw ON att.id_number = bw.id_number
|
||||
LEFT JOIN ( SELECT id_number, count( DISTINCT (TO_CHAR(id_number) || '_' || TO_CHAR(salary_id)) ) AS salaryName,
|
||||
WM_CONCAT(DISTINCT salary_id) as salaryId
|
||||
FROM "ynrealname"."bm_salary_record_his" WHERE pay_month = #{params.payMonth} GROUP BY id_number )
|
||||
bsth ON att.id_number = bsth.id_number
|
||||
LEFT JOIN "ynrealname"."bm_worker" bw ON att."id_number" = bw."id_number"
|
||||
LEFT JOIN ( SELECT "id_number", count( DISTINCT (TO_CHAR("id_number") || '_' || TO_CHAR("salary_id")) ) AS salaryName,
|
||||
WM_CONCAT(DISTINCT "salary_id") as salaryId
|
||||
FROM "ynrealname"."bm_salary_record_his" WHERE "pay_month" = #{params.payMonth} GROUP BY "id_number" )
|
||||
bsth ON att."id_number" = bsth."id_number"
|
||||
) a WHERE 1 = 1
|
||||
<if test="params.isWages != null and params.isWages != '' ">
|
||||
and a.isWages = #{params.isWages}
|
||||
</if>
|
||||
<if test="params.name != null and params.name != '' ">
|
||||
and a.NAME like concat('%',#{params.name},'%')
|
||||
and a."name" like ('%' || #{params.name} || '%')
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="selectSalaryByWorkerAttList"
|
||||
resultType="com.bonus.bmw.salarystat.entity.SalaryProStatBean">
|
||||
SELECT * FROM (
|
||||
SELECT bw.NAME, bw.id_number, bw.phone, att.CURRENT_DAY, bsth.salaryId,
|
||||
SELECT bw."name", bw."id_number", bw."phone", att."current_day", bsth.salaryId,
|
||||
att.attDayNum, CASE WHEN bsth.salaryName IS NULL THEN '无' ELSE bsth.salaryName END as salaryName,
|
||||
bsth.subName, CASE WHEN bsth.salaryName IS NULL THEN 0 ELSE 1 END AS isWages
|
||||
FROM (SELECT id_number, CURRENT_DAY,
|
||||
FROM (SELECT "id_number", "current_day",
|
||||
CASE WHEN COUNT(*) >= 2 THEN 1 ELSE 0.5 END AS attDayNum
|
||||
FROM "ynrealname"."fc_face_contrast"
|
||||
WHERE "year_month" = #{params.payMonth}
|
||||
AND pro_id = #{params.proId}
|
||||
GROUP BY id_number, CURRENT_DAY) att
|
||||
LEFT JOIN "ynrealname"."bm_worker" bw ON att.id_number = bw.id_number
|
||||
LEFT JOIN (SELECT id_number, bsb.NAME AS salaryName, bs.sub_name AS subName,
|
||||
WM_CONCAT(DISTINCT bsrh.salary_id) as salaryId
|
||||
AND "pro_id" = #{params.proId}
|
||||
GROUP BY "id_number", "current_day") att
|
||||
LEFT JOIN "ynrealname"."bm_worker" bw ON att."id_number" = bw."id_number"
|
||||
LEFT JOIN (SELECT "id_number", bsb."NAME" AS salaryName, bs."sub_name" AS subName,
|
||||
WM_CONCAT(DISTINCT bsrh."salary_id") as salaryId
|
||||
FROM "ynrealname"."bm_salary_record_his" bsrh
|
||||
LEFT JOIN "ynrealname"."bm_salary_book" bsb ON bsb.id = bsrh.salary_id
|
||||
LEFT JOIN "ynrealname"."bm_subcontractor" bs ON bs.id = bsb.sub_id
|
||||
WHERE bsrh.pay_month = #{params.payMonth}
|
||||
GROUP BY bsrh.id_number) bsth ON att.id_number = bsth.id_number) a
|
||||
LEFT JOIN "ynrealname"."bm_salary_book" bsb ON bsb."id" = bsrh."salary_id"
|
||||
LEFT JOIN "ynrealname"."bm_subcontractor" bs ON bs."id" = bsb."sub_id"
|
||||
WHERE bsrh."pay_month" = #{params.payMonth}
|
||||
GROUP BY bsrh."id_number") bsth ON att."id_number" = bsth."id_number") a
|
||||
WHERE 1 = 1
|
||||
and a.id_number = #{params.idNumber}
|
||||
and a."id_number" = #{params.idNumber}
|
||||
<if test="params.isWages != null and params.isWages != '' ">
|
||||
and a.isWages = #{params.isWages}
|
||||
</if>
|
||||
<if test="params.name != null and params.name != '' ">
|
||||
and a.NAME like concat('%',#{params.name},'%')
|
||||
and a."name" like ('%' || #{params.name} || '%')
|
||||
</if>
|
||||
ORDER BY CURRENT_DAY
|
||||
ORDER BY "current_day"
|
||||
</select>
|
||||
|
||||
<select id="getSalaryList" resultType="com.bonus.bmw.salarystat.entity.SalaryListBean">
|
||||
SELECT bsb.id as salaryId, bsb.name as salaryName, count(sbud.id_number) as personNum,
|
||||
bsb.start_date, bsb.stop_date, bp.name as proName, bs.sub_name
|
||||
SELECT bsb."id" as salaryId, bsb."name" as salaryName, count(sbud."id_number") as personNum,
|
||||
bsb."start_date", bsb."stop_date", bp."name" as proName, bs."sub_name"
|
||||
from "ynrealname"."bm_salary_book" bsb
|
||||
left join "ynrealname"."salary_book_upload_details" sbud on sbud.salary_id = bsb.id
|
||||
left join "ynrealname"."bm_subcontractor" bs on bs.id = bsb.sub_id
|
||||
left join "ynrealname"."bm_project" bp on bp.id = bsb.pro_id
|
||||
where bsb.id in (${params.salaryId})
|
||||
left join "ynrealname"."salary_book_upload_details" sbud on sbud."salary_id" = bsb."id"
|
||||
left join "ynrealname"."bm_subcontractor" bs on bs."id" = bsb."sub_id"
|
||||
left join "ynrealname"."bm_project" bp on bp."id" = bsb."pro_id"
|
||||
where bsb."id" in (${params.salaryId})
|
||||
<if test="params.salaryName != null and params.salaryName != '' ">
|
||||
and bsb.name like concat('%',#{params.salaryName},'%')
|
||||
and bsb."name" like ('%' || #{params.salaryName} || '%')
|
||||
</if>
|
||||
<if test="params.subName != null and params.subName != '' ">
|
||||
and bs.sub_name like concat('%',#{params.subName},'%')
|
||||
and bs."sub_name" like ('%' || #{params.subName} || '%')
|
||||
</if>
|
||||
GROUP BY bsb.id, bsb.name, bsb.start_date, bsb.stop_date, bp.name, bs.sub_name
|
||||
GROUP BY bsb."id", bsb."name", bsb."start_date", bsb."stop_date", bp."name", bs."sub_name"
|
||||
</select>
|
||||
|
||||
<select id="getSalaryBySubContractList" resultType="com.bonus.bmw.salarystat.entity.SalarySubContractBean">
|
||||
<![CDATA[
|
||||
select * from (
|
||||
select vsc.*, NVL(a.grantSalaryNum, 0) as grantSalaryNum,
|
||||
NVL(a.payMonth, '无发放') as payMonth,
|
||||
NVL(a.salaryNum, 0) as salaryNum, a.salaryId
|
||||
from "ynrealname"."v_sub_contract" vsc
|
||||
left join (
|
||||
select a.pro_id, a.sub_id, a.pay_month as payMonth,
|
||||
WM_CONCAT(DISTINCT a.salary_id) as salaryId,
|
||||
count(DISTINCT a.id_number) as grantSalaryNum,
|
||||
count(DISTINCT a.salary_id) as salaryNum from (
|
||||
select * from "ynrealname"."bm_salary_record_his" bsrh
|
||||
WHERE bsrh.pay_month = #{params.startMonth}
|
||||
GROUP BY bsrh.id_number, bsrh.salary_id, bsrh.pay_month
|
||||
) a GROUP BY a.pay_month, a.pro_id, a.sub_id
|
||||
) a on a.pro_id = vsc.proId and a.sub_id = vsc.subId
|
||||
) a where 1=1
|
||||
]]>
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
vsc.*,
|
||||
NVL(a.grantSalaryNum, 0) AS grantSalaryNum,
|
||||
NVL(a.payMonth, '无发放') AS payMonth,
|
||||
NVL(a.salaryNum, 0) AS salaryNum,
|
||||
a.salaryId
|
||||
FROM
|
||||
"ynrealname"."v_sub_contract" vsc
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
a.pro_id,
|
||||
a.sub_id,
|
||||
a.pay_month AS payMonth,
|
||||
WM_CONCAT(DISTINCT a.salary_id) AS salaryId,
|
||||
count(DISTINCT a."id_number") AS grantSalaryNum,
|
||||
count(DISTINCT a.salary_id) AS salaryNum
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
MAX(bsrh."pro_id") AS pro_id,
|
||||
MAX(bsrh."sub_id") AS sub_id,
|
||||
bsrh."id_number",
|
||||
bsrh."pay_month" AS pay_month,
|
||||
bsrh."salary_id" AS salary_id
|
||||
FROM
|
||||
"ynrealname"."bm_salary_record_his" bsrh
|
||||
WHERE
|
||||
bsrh."pay_month" = #{params.startMonth}
|
||||
GROUP BY
|
||||
bsrh."id_number",
|
||||
bsrh."salary_id",
|
||||
bsrh."pay_month"
|
||||
) a
|
||||
GROUP BY
|
||||
a.pay_month,
|
||||
a.pro_id,
|
||||
a.sub_id
|
||||
) a ON
|
||||
a.pro_id = vsc."proId"
|
||||
AND a.sub_id = vsc."subId"
|
||||
) a
|
||||
WHERE
|
||||
1 = 1
|
||||
|
||||
<if test="params.subName != null and params.subName != '' ">
|
||||
and a.subName like concat('%',#{params.subName},'%')
|
||||
and a."subName" like ('%' || #{params.subName} || '%')
|
||||
</if>
|
||||
<if test="params.proName != null and params.proName != '' ">
|
||||
and a.proName like concat('%',#{params.proName},'%')
|
||||
and a."proName" like ('%' || #{params.proName} || '%')
|
||||
</if>
|
||||
<if test="params.subContractName != null and params.subContractName != '' ">
|
||||
and a.subContractName like concat('%',#{params.subContractName},'%')
|
||||
and a."subContractName" like ('%' || #{params.subContractName} || '%')
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getWorkerAttBean" resultType="com.bonus.bmw.salarystat.entity.WorkerAttBean">
|
||||
<![CDATA[
|
||||
SELECT * FROM (SELECT id_number, CURRENT_DAY,
|
||||
CASE WHEN COUNT(*) >= 2 THEN 1 ELSE 0.5 END AS attDayNum
|
||||
FROM "ynrealname"."fc_face_contrast"
|
||||
WHERE "year_month" = #{startMonth}
|
||||
GROUP BY id_number, CURRENT_DAY) att
|
||||
]]>
|
||||
SELECT * FROM (SELECT "id_number", "current_day",
|
||||
CASE WHEN COUNT(*) >= 2 THEN 1 ELSE 0.5 END AS attDayNum
|
||||
FROM "ynrealname"."fc_face_contrast"
|
||||
WHERE "year_month" = #{startMonth}
|
||||
GROUP BY "id_number", "current_day") att
|
||||
</select>
|
||||
|
||||
<select id="getSubContractIdByIdNumber" resultType="java.lang.String">
|
||||
select CASE WHEN count(*) = 0 THEN (
|
||||
select CASE WHEN count(*) = 0 THEN (
|
||||
select bsr.sub_contract_id from
|
||||
(SELECT id_number, team_id FROM "ynrealname"."bm_worker_ein_history"
|
||||
WHERE id_number = #{idNumber} AND exit_time is null
|
||||
and team_id != 0 and is_active = 1
|
||||
) a left join "ynrealname"."bm_sub_relation" bsr on bsr.value = a.team_id
|
||||
where bsr.is_active = 1
|
||||
ORDER BY bsr.id DESC OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY
|
||||
) ELSE sub_contract_id END from
|
||||
(select bsr.sub_contract_id from
|
||||
(SELECT id_number, team_id FROM "ynrealname"."bm_worker_ein_history"
|
||||
WHERE id_number = #{idNumber} and team_id != 0
|
||||
AND TO_DATE(#{currentDay}, 'YYYY-MM-DD') BETWEEN TRUNC(ein_time)
|
||||
AND TRUNC(exit_time)
|
||||
and is_active = 1
|
||||
) a left join "ynrealname"."bm_sub_relation" bsr on bsr.value = a.team_id
|
||||
ORDER BY bsr.id DESC OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY) a
|
||||
)
|
||||
ELSE a.sub_contract_id END as contractId
|
||||
from (SELECT sub_contract_id FROM (SELECT * FROM "ynrealname"."bm_sub_relation" WHERE type = 3
|
||||
AND TO_DATE(#{currentDay}, 'YYYY-MM-DD') BETWEEN TRUNC(create_time) AND TRUNC(update_time)) bsr
|
||||
LEFT JOIN (SELECT id_number, team_id FROM "ynrealname"."bm_worker_ein_history"
|
||||
WHERE id_number = #{idNumber} AND exit_time IS NULL
|
||||
and team_id != 0 AND is_active = 1)
|
||||
bweh ON bweh.team_id = bsr.VALUE
|
||||
LEFT JOIN (SELECT * FROM "ynrealname"."bm_team_user_relation"
|
||||
WHERE id_number = #{idNumber} AND TO_DATE(#{currentDay}, 'YYYY-MM-DD') BETWEEN TRUNC(create_time)
|
||||
and TRUNC(update_time)) team ON team.team_id = bsr.VALUE
|
||||
WHERE bweh.team_id IS NOT NULL AND team.team_id IS NOT NULL
|
||||
ORDER BY bsr.create_time DESC OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY) a
|
||||
SELECT
|
||||
CASE
|
||||
WHEN count(*) = 0 THEN (
|
||||
SELECT
|
||||
CASE
|
||||
WHEN count(*) = 0 THEN (
|
||||
SELECT
|
||||
bsr.sub_contract_id
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
id_number,
|
||||
team_id
|
||||
FROM
|
||||
"ynrealname"."bm_worker_ein_history"
|
||||
WHERE
|
||||
id_number = #{idNumber}
|
||||
AND exit_time IS NULL
|
||||
AND team_id != 0
|
||||
AND is_active = 1
|
||||
) a
|
||||
LEFT JOIN "ynrealname"."bm_sub_relation" bsr ON
|
||||
bsr.value = a.team_id
|
||||
WHERE
|
||||
bsr.is_active = 1
|
||||
ORDER BY
|
||||
bsr.id DESC OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY
|
||||
)
|
||||
ELSE sub_contract_id
|
||||
END
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
bsr.sub_contract_id
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
id_number,
|
||||
team_id
|
||||
FROM
|
||||
"ynrealname"."bm_worker_ein_history"
|
||||
WHERE
|
||||
id_number = #{idNumber}
|
||||
AND team_id != 0
|
||||
AND TO_DATE(#{currentDay}, 'YYYY-MM-DD') BETWEEN TRUNC(ein_time)
|
||||
AND TRUNC(exit_time)
|
||||
AND is_active = 1
|
||||
) a
|
||||
LEFT JOIN "ynrealname"."bm_sub_relation" bsr ON
|
||||
bsr.value = a.team_id
|
||||
ORDER BY
|
||||
bsr.id DESC OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY) a
|
||||
)
|
||||
ELSE a.sub_contract_id
|
||||
END AS contractId
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
sub_contract_id
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
"ynrealname"."bm_sub_relation"
|
||||
WHERE
|
||||
TYPE = 3
|
||||
AND TO_DATE(#{currentDay}, 'YYYY-MM-DD') BETWEEN TRUNC(create_time) AND TRUNC(update_time)) bsr
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
id_number,
|
||||
team_id
|
||||
FROM
|
||||
"ynrealname"."bm_worker_ein_history"
|
||||
WHERE
|
||||
id_number = #{idNumber}
|
||||
AND exit_time IS NULL
|
||||
AND team_id != 0
|
||||
AND is_active = 1)
|
||||
bweh ON
|
||||
bweh.team_id = bsr.VALUE
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
"ynrealname"."bm_team_user_relation"
|
||||
WHERE
|
||||
id_number = #{idNumber}
|
||||
AND TO_DATE(#{currentDay}, 'YYYY-MM-DD') BETWEEN TRUNC(create_time)
|
||||
AND TRUNC(update_time)) team ON
|
||||
team.team_id = bsr.VALUE
|
||||
WHERE
|
||||
bweh.team_id IS NOT NULL
|
||||
AND team.team_id IS NOT NULL
|
||||
ORDER BY
|
||||
bsr.create_time DESC
|
||||
OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY) a
|
||||
</select>
|
||||
|
||||
<select id="getSalaryBySubContractWorkerList"
|
||||
resultType="com.bonus.bmw.salarystat.entity.SalarySubContractWorkerBean">
|
||||
SELECT * FROM (
|
||||
SELECT bw.NAME, bw.id_number, bw.phone, bsth.salaryName, bsth.salaryId,
|
||||
SELECT bw."name", bw."id_number", bw."phone", bsth.salaryName, bsth.salaryId,
|
||||
CASE WHEN bsth.salaryName IS NULL THEN 0 ELSE 1 END AS isWages, #{params.payMonth} as payMonth
|
||||
FROM ( SELECT id_number, count( DISTINCT (TO_CHAR(id_number) || '_' || TO_CHAR(salary_id)) ) AS salaryName,
|
||||
WM_CONCAT(DISTINCT salary_id) as salaryId
|
||||
|
|
@ -232,103 +383,103 @@
|
|||
<select id="getSalaryBySubContractWorkerAttList"
|
||||
resultType="com.bonus.bmw.salarystat.entity.SalarySubContractWorkerAttBean">
|
||||
SELECT * FROM (
|
||||
SELECT bw.NAME, bw.id_number, bw.phone, bsth.subName,
|
||||
IF(bsth.salaryName IS NULL, '无', bsth.salaryName) as salaryName,
|
||||
IF(bsth.salaryName IS NULL, 0, 1) AS isWages, bsth.salaryId,
|
||||
SELECT bw."name", bw."id_number", bw."phone", bsth.subName,
|
||||
CASE WHEN bsth.salaryName IS NULL THEN '无' ELSE bsth.salaryName END as salaryName,
|
||||
CASE WHEN bsth.salaryName IS NULL THEN 0 ELSE 1 END AS isWages, bsth.salaryId,
|
||||
#{params.payMonth} as payMonth
|
||||
FROM (SELECT id_number, bsb.NAME AS salaryName, bs.sub_name AS subName,
|
||||
bsb.id as salaryId
|
||||
FROM bm_salary_record_his bsrh
|
||||
LEFT JOIN bm_salary_book bsb ON bsb.id = bsrh.salary_id
|
||||
LEFT JOIN bm_subcontractor bs ON bs.id = bsb.sub_id
|
||||
WHERE bsrh.pay_month = #{params.payMonth}
|
||||
GROUP BY bsrh.id_number) bsth
|
||||
LEFT JOIN bm_worker bw ON bw.id_number = bsth.id_number) a
|
||||
FROM (SELECT "id_number", bsb."NAME" AS salaryName, bs."sub_name" AS subName,
|
||||
bsb."id" as salaryId
|
||||
FROM "ynrealname"."bm_salary_record_his" bsrh
|
||||
LEFT JOIN "ynrealname"."bm_salary_book" bsb ON bsb."id" = bsrh."salary_id"
|
||||
LEFT JOIN "ynrealname"."bm_subcontractor" bs ON bs."id" = bsb."sub_id"
|
||||
WHERE bsrh."pay_month" = #{params.payMonth}
|
||||
GROUP BY bsrh."id_number") bsth
|
||||
LEFT JOIN "ynrealname"."bm_worker" bw ON bw."id_number" = bsth."id_number") a
|
||||
WHERE 1 = 1
|
||||
and a.id_number = #{idNumber}
|
||||
and a."id_number" = #{idNumber}
|
||||
</select>
|
||||
|
||||
<select id="getTemporarySalaryList" resultType="com.bonus.bmw.salarystat.entity.TemporarySalaryStatBean">
|
||||
select vpc.*, (
|
||||
select count(DISTINCT bstrh.id) from "ynrealname"."bm_salary_temp_record_his" bstrh
|
||||
where bstrh.is_active = 1 and bstrh.pro_id = vpc.proId
|
||||
select count(DISTINCT bstrh."id") from "ynrealname"."bm_salary_temp_record_his" bstrh
|
||||
where bstrh."is_active" = '1' and bstrh."pro_id" = vpc."proId"
|
||||
) as salaryVoucher from "ynrealname"."v_pro_com" vpc
|
||||
where 1 = 1
|
||||
<if test="params.companyId != null and params.companyId != '' ">
|
||||
and vpc.companyId = #{params.companyId}
|
||||
and vpc."companyId" = #{params.companyId}
|
||||
</if>
|
||||
<if test="params.proName != null and params.proName != '' ">
|
||||
and vpc.proName like concat('%',#{params.proName},'%')
|
||||
and vpc."proName" like ('%' || #{params.proName} || '%')
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getTemporarySalaryFileList"
|
||||
resultType="com.bonus.bmw.salarystat.entity.TemporarySalaryFileBean">
|
||||
select bstrh.*, su.username as createUserName from "ynrealname"."bm_salary_temp_record_his" bstrh
|
||||
left join "ynrealname"."sys_user" su on su.id = bstrh.create_user_id
|
||||
where bstrh.is_active = 1 and bstrh.pro_id = #{params.proId}
|
||||
select bstrh.*, su."username" as createUserName from "ynrealname"."bm_salary_temp_record_his" bstrh
|
||||
left join "ynrealname"."sys_user" su on su."id" = bstrh."create_user_id"
|
||||
where bstrh."is_active" = '1' and bstrh."pro_id" = #{params.proId}
|
||||
<if test="params.month != null and params.month != '' ">
|
||||
and bstrh.month = #{params.month}
|
||||
and bstrh."month" = #{params.month}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getTemporarySalaryByProList"
|
||||
resultType="com.bonus.bmw.salarystat.entity.TemporarySalaryProStatBean">
|
||||
select vpc.*, ffc.month, NVL(ffc.temporaryPersonNum, '无') as temporaryPersonNum,
|
||||
select vpc.*, ffc."month", NVL(ffc.temporaryPersonNum, '无') as temporaryPersonNum,
|
||||
NVL(ffc.temporaryPersonAttNum, '无') as temporaryPersonAttNum,
|
||||
NVL(bstrh.salaryVoucher, '无') as salaryVoucher
|
||||
from (
|
||||
<![CDATA[
|
||||
select ffc.id_number, ffc.month, count( DISTINCT
|
||||
TO_CHAR(ffc.ID_NUMBER) || '_' || TO_CHAR(ffc.CURRENT_DAY,'YYYY-MM-DD') ) AS temporaryPersonAttNum,
|
||||
count(DISTINCT bweh.id_number) as temporaryPersonNum from (
|
||||
SELECT id_number, CURRENT_DAY, TO_CHAR( CURRENT_DAY,
|
||||
'YYYY-MM' ) AS MONTH FROM "ynrealname"."fc_face_contrast"
|
||||
select ffc."id_number", ffc."month", count( DISTINCT
|
||||
TO_CHAR(ffc."ID_NUMBER") || '_' || TO_CHAR(ffc."CURRENT_DAY",'YYYY-MM-DD') ) AS temporaryPersonAttNum,
|
||||
count(DISTINCT bweh."id_number") as temporaryPersonNum from (
|
||||
SELECT "id_number", "CURRENT_DAY", TO_CHAR( "CURRENT_DAY",
|
||||
'YYYY-MM' ) AS "MONTH" FROM "ynrealname"."fc_face_contrast"
|
||||
WHERE "year_month" BETWEEN #{params.startMonth}
|
||||
and #{params.endMonth} AND pro_id = #{params.proId}
|
||||
GROUP BY ID_NUMBER, CURRENT_DAY
|
||||
and #{params.endMonth} AND "pro_id" = #{params.proId}
|
||||
GROUP BY "ID_NUMBER", "CURRENT_DAY"
|
||||
) ffc left join (
|
||||
select bweh.id_number, TO_CHAR(ein_time, 'YYYY-MM-DD') as einTime,
|
||||
project_id, TO_CHAR(exit_time, 'YYYY-MM-DD') as exitTime
|
||||
select bweh."id_number", TO_CHAR("ein_time", 'YYYY-MM-DD') as einTime,
|
||||
"project_id", TO_CHAR("exit_time", 'YYYY-MM-DD') as exitTime
|
||||
from "ynrealname"."bm_worker_ein_history" bweh
|
||||
where TO_CHAR(ein_time, 'YYYY-MM') <= #{params.endMonth}
|
||||
and sub_id = 0 and team_id = 0 and project_id = #{params.proId}
|
||||
) bweh on bweh.id_number = ffc.id_number and (
|
||||
CASE WHEN bweh.exitTime is null THEN TO_CHAR(ffc.CURRENT_DAY,'YYYY-MM-DD') >= bweh.einTime
|
||||
ELSE TO_CHAR(ffc.CURRENT_DAY,'YYYY-MM-DD') BETWEEN bweh.einTime and bweh.exitTime END)
|
||||
where bweh.id_number is not null
|
||||
GROUP BY ffc.ID_NUMBER, ffc.month
|
||||
where TO_CHAR("ein_time", 'YYYY-MM') <= #{params.endMonth}
|
||||
and "sub_id" = 0 and "team_id" = 0 and "project_id" = #{params.proId}
|
||||
) bweh on bweh."id_number" = ffc."ID_NUMBER" and (
|
||||
CASE WHEN bweh.exitTime is null THEN TO_CHAR(ffc."CURRENT_DAY",'YYYY-MM-DD') >= bweh.einTime
|
||||
ELSE TO_CHAR(ffc."CURRENT_DAY",'YYYY-MM-DD') BETWEEN bweh.einTime and bweh.exitTime END)
|
||||
where bweh."id_number" is not null
|
||||
GROUP BY ffc."ID_NUMBER", ffc."month"
|
||||
]]>
|
||||
) ffc
|
||||
left join (
|
||||
select month, count(DISTINCT id) as salaryVoucher from "ynrealname"."bm_salary_temp_record_his"
|
||||
where is_active = 1 and month BETWEEN #{params.startMonth}
|
||||
and #{params.endMonth} and pro_id = #{params.proId}
|
||||
GROUP BY month
|
||||
select "month", count(DISTINCT "id") as salaryVoucher from "ynrealname"."bm_salary_temp_record_his"
|
||||
where "is_active" = '1' and "month" BETWEEN #{params.startMonth}
|
||||
and #{params.endMonth} and "pro_id" = #{params.proId}
|
||||
GROUP BY "month"
|
||||
) bstrh on bstrh.month = ffc.month
|
||||
left join "ynrealname"."v_pro_com" vpc on vpc.proId = #{params.proId}
|
||||
where vpc.proId = #{params.proId}
|
||||
left join "ynrealname"."v_pro_com" vpc on vpc."proId" = #{params.proId}
|
||||
where vpc."proId" = #{params.proId}
|
||||
<if test="params.proName != null and params.proName != '' ">
|
||||
and vpc.proName = #{params.proName}
|
||||
and vpc."proName" = #{params.proName}
|
||||
</if>
|
||||
ORDER BY bstrh.month DESC
|
||||
ORDER BY bstrh."month" DESC
|
||||
</select>
|
||||
|
||||
<select id="getTemporarySalaryPersonAttList"
|
||||
resultType="com.bonus.bmw.salarystat.entity.TemporarySalaryPersonAttBean">
|
||||
select bw.name, bw.id_number, bw.phone, bp.name as proName,
|
||||
select bw."name", bw."id_number", bw."phone", bp."name" as proName,
|
||||
ffc.CURRENT_DAY, ffc.attDayNum from (
|
||||
SELECT * FROM (SELECT id_number, CURRENT_DAY,
|
||||
SELECT * FROM (SELECT "id_number", "CURRENT_DAY",
|
||||
CASE WHEN COUNT(*) >= 2 THEN 1 ELSE 0.5 END AS attDayNum
|
||||
FROM "ynrealname"."fc_face_contrast"
|
||||
WHERE "year_month" = #{params.month}
|
||||
and pro_id = #{params.proId}
|
||||
and "pro_id" = #{params.proId}
|
||||
<if test="params.idNumber != null and params.idNumber != '' ">
|
||||
and id_number = #{params.idNumber}
|
||||
and "id_number" = #{params.idNumber}
|
||||
</if>
|
||||
GROUP BY id_number, CURRENT_DAY) att
|
||||
) ffc left join bm_worker bw on bw.id_number = ffc.id_number
|
||||
left join "ynrealname"."bm_project" bp on bp.id = #{params.proId}
|
||||
GROUP BY "id_number", "CURRENT_DAY") att
|
||||
) ffc left join "ynrealname"."bm_worker" bw on bw."id_number" = ffc.ID_NUMBER
|
||||
left join "ynrealname"."bm_project" bp on bp."id" = #{params.proId}
|
||||
left join (
|
||||
select bweh.id_number, TO_CHAR(ein_time, 'YYYY-MM-DD') as einTime,
|
||||
project_id, TO_CHAR(exit_time, 'YYYY-MM-DD') as exitTime
|
||||
|
|
@ -348,7 +499,7 @@
|
|||
<select id="getTemporarySalaryPersonAttStatList"
|
||||
resultType="com.bonus.bmw.salarystat.entity.TemporarySalaryPersonAttStatBean">
|
||||
<![CDATA[
|
||||
select bw.name, bw.id_number, bw.phone, #{params.month} as month, ffc.einDate as einTime,
|
||||
select bw."name", bw."id_number", bw."phone", #{params.month} as month, ffc.einDate as einTime,
|
||||
ffc.exitDate as exitTime, ffc.attDayNum
|
||||
from (select ffc.id_number, ffc.month, count( DISTINCT
|
||||
TO_CHAR(ffc.ID_NUMBER) || '_' || TO_CHAR(ffc.CURRENT_DAY,'YYYY-MM-DD') ) AS attDayNum,
|
||||
|
|
@ -371,45 +522,45 @@
|
|||
ELSE TO_CHAR(ffc.CURRENT_DAY,'YYYY-MM-DD') BETWEEN bweh.einTime and bweh.exitTime END)
|
||||
where bweh.id_number is not null
|
||||
GROUP BY ffc.ID_NUMBER, ffc.month
|
||||
) ffc left join bm_worker bw on bw.id_number = ffc.id_number
|
||||
) ffc left join "ynrealname"."bm_worker" bw on bw."id_number" = ffc.id_number
|
||||
]]>
|
||||
<if test="params.name != null and params.name != '' ">
|
||||
where bw.name = #{params.name}
|
||||
where bw."name" = #{params.name}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="selectSalaryVoucherFile" resultType="com.bonus.bmw.salarystat.entity.TemporarySalaryFileBean">
|
||||
select file_name, file_path from "ynrealname"."bm_salary_temp_record_his"
|
||||
where is_active = 1 and month BETWEEN #{startMonth}
|
||||
and #{endMonth} and pro_id = #{proId}
|
||||
GROUP BY file_name, file_path
|
||||
select "file_name", "file_path" from "ynrealname"."bm_salary_temp_record_his"
|
||||
where "is_active" = '1' and "month" BETWEEN #{startMonth}
|
||||
and #{endMonth} and "pro_id" = #{proId}
|
||||
GROUP BY "file_name", "file_path"
|
||||
</select>
|
||||
|
||||
<select id="selectPersonContent" resultType="java.util.Map">
|
||||
select bw.name, bw.id_number as idNumber, bw.phone
|
||||
select bw."name", bw."id_number" as idNumber, bw."phone"
|
||||
from "ynrealname"."bm_worker" bw
|
||||
where bw.id_number = #{idNumber}
|
||||
where bw."id_number" = #{idNumber}
|
||||
</select>
|
||||
|
||||
<select id="getSubName" resultType="java.lang.String">
|
||||
select bs.sub_name as subName from "ynrealname"."bm_sub_contract" bsc
|
||||
left join "ynrealname"."bm_subcontractor" bs ON bs.id = bsc.sub_id
|
||||
where bsc.id = #{subContractId}
|
||||
select bs."sub_name" as subName from "ynrealname"."bm_sub_contract" bsc
|
||||
left join "ynrealname"."bm_subcontractor" bs ON bs."id" = bsc."sub_id"
|
||||
where bsc."id" = #{subContractId}
|
||||
</select>
|
||||
|
||||
<select id="selectSalaryByIdNumber" resultType="java.lang.Integer">
|
||||
SELECT CASE WHEN count(*) > 0 THEN 1 ELSE 0 END FROM "ynrealname"."bm_salary_record_his"
|
||||
where id_number = #{idNumber} and pay_month = #{startMonth}
|
||||
where "id_number" = #{idNumber} and "pay_month" = #{startMonth}
|
||||
</select>
|
||||
|
||||
<delete id="deleteTemporarySalaryFileById">
|
||||
update "ynrealname"."bm_salary_temp_record_his" set is_active = 0 where id = #{id}
|
||||
update "ynrealname"."bm_salary_temp_record_his" set "is_active" = '0' where "id" = #{id}
|
||||
</delete>
|
||||
|
||||
<insert id="insertTemporarySalaryFile">
|
||||
<foreach collection="list" item="params" separator=";">
|
||||
insert into "ynrealname"."bm_salary_temp_record_his"(sub_com_id, pro_id, month,
|
||||
file_name, file_path, create_user_id) values (#{params.companyId}, #{params.proId},
|
||||
insert into "ynrealname"."bm_salary_temp_record_his"("sub_com_id", "pro_id", "month",
|
||||
"file_name", "file_path", "create_user_id") values (#{params.companyId}, #{params.proId},
|
||||
#{params.month}, #{params.fileName}, #{params.filePath}, #{params.createUserId})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ function init() {
|
|||
}
|
||||
|
||||
function exportData() {
|
||||
window.location.href = ctxPath + "/salaryBookFill/exportSalaryBookFill?token=" + token
|
||||
window.location.href = ctxPath + "/salaryBookFill/exportSalaryBookFill?Authorization=" + token
|
||||
+ "&id=" + $("#id").val()
|
||||
+ "&keyWord=" + $("#keyWord").val();
|
||||
}
|
||||
|
|
@ -130,7 +130,7 @@ function photoView(idNumber) {
|
|||
}
|
||||
|
||||
function exportList(id) {
|
||||
location.href = ctxPath + '/salaryBookFill/exportExamList?id='+ id;
|
||||
location.href = ctxPath + '/salaryBookFill/exportExamList?id='+ id + '&Authorization=' + token;;
|
||||
}
|
||||
|
||||
// 编辑按钮
|
||||
|
|
|
|||
|
|
@ -245,7 +245,7 @@ function dataEdit(idNumber) {
|
|||
|
||||
|
||||
function exportList(id) {
|
||||
location.href = ctxPath + '/salaryBookFill/exportExamList?id='+ id;
|
||||
location.href = ctxPath + '/salaryBookFill/exportExamList?id='+ id + '&Authorization=' + token;
|
||||
}
|
||||
|
||||
function submit(id) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue