Merge remote-tracking branch 'origin/main'

This commit is contained in:
cwchen 2025-08-29 13:26:59 +08:00
commit 3e11b06818
16 changed files with 404 additions and 367 deletions

View File

@ -29,7 +29,7 @@ public interface UserDao {
@Param("limit") Integer limit); @Param("limit") Integer limit);
@Update("update \"ynrealname\".\"sys_role_user\" set \"is_active\" = '0' where \"userId\" = #{userId}") @Update("update \"ynrealname\".\"sys_role_user\" set \"is_active\" = '0' where \"userId\" = #{userId}")
int deleteUserRole(String userId); int deleteUserRole(int userId);
int saveUserRoles(@Param("userId")String userId, @Param("roleId") String roleId); int saveUserRoles(@Param("userId")String userId, @Param("roleId") String roleId);

View File

@ -76,7 +76,7 @@ public class UserServiceImpl implements UserService {
private void saveUserRoles(String userId, String roleId) { private void saveUserRoles(String userId, String roleId) {
if (roleId != null) { if (roleId != null) {
userDao.deleteUserRole(userId); userDao.deleteUserRole(Integer.valueOf(userId));
// 新增用户与角色管理 // 新增用户与角色管理
userDao.saveUserRoles(userId,roleId); userDao.saveUserRoles(userId,roleId);
} }
@ -111,7 +111,7 @@ public class UserServiceImpl implements UserService {
@Transactional @Transactional
public R deleteUser(Long id) { public R deleteUser(Long id) {
int i = userDao.deleteUser(id); int i = userDao.deleteUser(id);
userDao.deleteUserRole(String.valueOf(id)); userDao.deleteUserRole(Integer.valueOf(Math.toIntExact(id)));
return i > 0 ? R.ok(null, "删除成功"):R.fail("删除失败"); return i > 0 ? R.ok(null, "删除成功"):R.fail("删除失败");
} }

View File

@ -55,7 +55,9 @@ public class ContractServiceImpl implements ContractService {
list.add(new ContractBean(bean.getId(),bean.getIdNumber(), list.add(new ContractBean(bean.getId(),bean.getIdNumber(),
"",DateUtils.getDate(),DateUtils.getTime(),bean.getFilePath()[j])); "",DateUtils.getDate(),DateUtils.getTime(),bean.getFilePath()[j]));
} }
int j = addContractPhoto(list); if (list.size()>0){
int j = addContractPhoto(list);
}
//判断是否绿灯修改数据 //判断是否绿灯修改数据
List<RedLightHisBean> listRedLight = redListDao.getEinRedLightNoLightHis(bean.getIdNumber()); List<RedLightHisBean> listRedLight = redListDao.getEinRedLightNoLightHis(bean.getIdNumber());
return i; return i;

View File

@ -136,10 +136,10 @@ public class InOutServiceImpl implements InOutService {
o.setContractId(contractId); o.setContractId(contractId);
} }
//出场人员是否报了日计划 //出场人员是否报了日计划
int i = dao.getPersonPlanByIdNumber(idNumber); /* int i = dao.getPersonPlanByIdNumber(idNumber);
if(i > 0){ if(i > 0){
throw new RuntimeException(idNumber+" 人员已填报今日或明日的作业计划,请取消后再进行操作"); throw new RuntimeException(idNumber+" 人员已填报今日或明日的作业计划,请取消后再进行操作");
} }*/
//出场人员删除考勤机人脸 //出场人员删除考勤机人脸
dealWithAttendanceMachine(idNumber); dealWithAttendanceMachine(idNumber);
o.setEinStatus(bean.getEinStatus()); o.setEinStatus(bean.getEinStatus());
@ -158,7 +158,8 @@ public class InOutServiceImpl implements InOutService {
redLight.setIdNumber(idNumber); redLight.setIdNumber(idNumber);
dealWithRedLight(redLight); dealWithRedLight(redLight);
} }
return x >= split.length ? R.ok("出场审核成功") : R.fail("出场审核失败"); /*return x >= split.length ? R.ok("出场审核成功") : R.fail("出场审核失败");*/
return R.ok("出场审核成功");
} }
/** /**

View File

@ -274,7 +274,7 @@ public class PersonComprehensiveServiceImp implements PersonComprehensiveService
private void saveUserRoles(String userId, String roleId) { private void saveUserRoles(String userId, String roleId) {
if (roleId != null) { if (roleId != null) {
userDao.deleteUserRole(userId); userDao.deleteUserRole(Integer.valueOf(userId));
// 新增用户与角色管理 // 新增用户与角色管理
userDao.saveUserRoles(userId,roleId); userDao.saveUserRoles(userId,roleId);
} }
@ -375,7 +375,7 @@ public class PersonComprehensiveServiceImp implements PersonComprehensiveService
getLight(o); getLight(o);
List<PersonComprehensiveBean> beanList = new ArrayList<>(); List<PersonComprehensiveBean> beanList = new ArrayList<>();
i = dao.updatePerson(o); i = dao.updatePerson(o);
dao.updateEvaluationWorkerData(o); //dao.updateEvaluationWorkerData(o);
if(StringUtils.isNotEmpty(o.getIsPass())){ if(StringUtils.isNotEmpty(o.getIsPass())){
dao.insertTrainResultData(o); dao.insertTrainResultData(o);
} }

View File

@ -35,7 +35,7 @@ public class WorkPayServiceImpl implements WorkPayService {
@Override @Override
public WorkPayBean getInfoById(String id) { public WorkPayBean getInfoById(String id) {
return dao.getInfoById(id); return dao.getInfoById(id.trim());
} }
@Override @Override

View File

@ -136,7 +136,7 @@ public class SubContractServiceImpl implements SubContractService {
private void saveUserRoles(String userId, String roleId) { private void saveUserRoles(String userId, String roleId) {
if (roleId != null) { if (roleId != null) {
userDao.deleteUserRole(userId); userDao.deleteUserRole(Integer.valueOf(userId));
// 新增用户与角色管理 // 新增用户与角色管理
userDao.saveUserRoles(userId,roleId); userDao.saveUserRoles(userId,roleId);
} }

View File

@ -80,14 +80,14 @@
<insert id="insertAttendanceMachinePush"> <insert id="insertAttendanceMachinePush">
insert into "ynrealname"."bm_attendance_machine_push"("id_number", "face_base64", "face_path", "attendance_machine_id", "operate") insert into "ynrealname"."bm_attendance_machine_push"("id_number", "face_base64", "face_path", "attendance_machine_id", "operate")
values (#{idNumber}, #{faceImg}, #{facePhoto}, #{attendanceMachineId}, #{operate}); values (#{idNumber}, #{faceImg}, #{facePhoto}, #{attendanceMachineId}, #{operate});
-- 先删除旧记录
delete from "ynrealname"."bm_attendance_machine_push_history"
where "id_number" = #{idNumber} and "attendance_machine_id" = #{attendanceMachineId};
MERGE INTO "ynrealname"."bm_attendance_machine_push_history" target -- 再插入新记录
USING (SELECT #{idNumber} as "id_number", #{attendanceMachineId} as "attendance_machine_id") source insert into "ynrealname"."bm_attendance_machine_push_history"
ON (target."id_number" = source."id_number" AND target."attendance_machine_id" = source."attendance_machine_id") ("id_number", "attendance_machine_id")
WHEN MATCHED THEN values (#{idNumber}, #{attendanceMachineId});
UPDATE SET target."id_number" = source."id_number", target."attendance_machine_id" = source."attendance_machine_id"
WHEN NOT MATCHED THEN
INSERT ("id_number", "attendance_machine_id") VALUES (source."id_number", source."attendance_machine_id")
</insert> </insert>
<select id="selectAttendanceMachinePushList" <select id="selectAttendanceMachinePushList"
@ -99,12 +99,12 @@
</select> </select>
<select id="selectBasePersonList" resultType="com.bonus.bmw.person.entity.BasePersonBean"> <select id="selectBasePersonList" resultType="com.bonus.bmw.person.entity.BasePersonBean">
select bw."id_number" as idNumber, bwp.PHOTO_PATH as facePhoto, select bw."id_number" as idNumber, bwp."photo_path" as facePhoto,
bwp.FACE_FEATURES as faceFeatureByte from "ynrealname"."bm_worker" bw bwp."face_features" as faceFeatureByte from "ynrealname"."bm_worker" bw
left join "ynrealname"."bm_worker_ein_history" bweh on bweh."id_number" = bw."id_number" and bweh."is_active" = 1 left join "ynrealname"."bm_worker_ein_history" bweh on bweh."id_number" = bw."id_number" and bweh."is_active" = 1
left join "ynrealname"."bm_worker_photo" bwp on bwp.ID_NUMBER = bw."id_number" and bwp.PHOTO_TYPE = 3 left join "ynrealname"."bm_worker_photo" bwp on bwp."id_number" = bw."id_number" and bwp."photo_type" = 3
where bw.IS_ACTIVE = 1 and bw."ein_status" = 1 and bweh."project_id" = #{proId} where bw."is_active" = 1 and bw."ein_status" = 1 and bweh."project_id" = #{proId}
and bwp.PHOTO_PATH is not null and bwp."photo_path" is not null
</select> </select>
<select id="selectBasePersonPushList" resultType="com.bonus.bmw.person.entity.PersonComprehensiveBean"> <select id="selectBasePersonPushList" resultType="com.bonus.bmw.person.entity.PersonComprehensiveBean">

View File

@ -20,9 +20,11 @@
FROM FROM
"ynrealname"."bm_certificate_type" bct "ynrealname"."bm_certificate_type" bct
LEFT JOIN ( LEFT JOIN (
SELECT * FROM ( SELECT a."id_number", a."certificate_id",a."issuing_authority",a."first_date",
a."review_date", a."valid_start_date",a."valid_end_date",a."reality_review_date",a."certificate_photo" FROM (
SELECT * FROM "ynrealname"."bm_certificate_read" ORDER BY "valid_end_date" DESC FETCH FIRST 999999999 ROWS ONLY SELECT * FROM "ynrealname"."bm_certificate_read" ORDER BY "valid_end_date" DESC FETCH FIRST 999999999 ROWS ONLY
) a GROUP BY a."id_number", a."certificate_id" ) a GROUP BY a."id_number", a."certificate_id",a."issuing_authority",a."first_date",
a."review_date", a."valid_start_date",a."valid_end_date",a."reality_review_date",a."certificate_photo"
) bcr ON bcr."certificate_id" = bct."id" ) bcr ON bcr."certificate_id" = bct."id"
LEFT JOIN "ynrealname"."bm_worker_ein_history" bweh ON bweh."id_number" = bcr."id_number" AND bweh."is_active" = '1' AND bweh."exit_status" !=1 LEFT JOIN "ynrealname"."bm_worker_ein_history" bweh ON bweh."id_number" = bcr."id_number" AND bweh."is_active" = '1' AND bweh."exit_status" !=1
WHERE bct."is_hidden" = '0' AND bct."is_active" = '1' WHERE bct."is_hidden" = '0' AND bct."is_active" = '1'
@ -44,9 +46,11 @@
FROM FROM
"ynrealname"."bm_certificate_type" bct "ynrealname"."bm_certificate_type" bct
LEFT JOIN ( LEFT JOIN (
SELECT * FROM ( SELECT a."id_number", a."certificate_id",a."issuing_authority",a."first_date",
a."review_date", a."valid_start_date",a."valid_end_date",a."reality_review_date",a."certificate_photo" FROM (
SELECT * FROM "ynrealname"."bm_certificate_read" ORDER BY "valid_end_date" DESC FETCH FIRST 999999999 ROWS ONLY SELECT * FROM "ynrealname"."bm_certificate_read" ORDER BY "valid_end_date" DESC FETCH FIRST 999999999 ROWS ONLY
) a GROUP BY a."id_number", a."certificate_id" ) a GROUP BY a."id_number", a."certificate_id",a."issuing_authority",a."first_date",
a."review_date", a."valid_start_date",a."valid_end_date",a."reality_review_date",a."certificate_photo"
) bcr ON bcr."certificate_id" = bct."id" ) bcr ON bcr."certificate_id" = bct."id"
LEFT JOIN "ynrealname"."bm_worker_ein_history" bweh ON bweh."id_number" = bcr."id_number" AND bweh."is_active" = '1' AND bweh."exit_status" !=1 LEFT JOIN "ynrealname"."bm_worker_ein_history" bweh ON bweh."id_number" = bcr."id_number" AND bweh."is_active" = '1' AND bweh."exit_status" !=1
WHERE bct."is_hidden" = '0' AND bct."is_active" = '1' WHERE bct."is_hidden" = '0' AND bct."is_active" = '1'
@ -74,9 +78,11 @@
FROM FROM
"ynrealname"."bm_worker_ein_history" bweh "ynrealname"."bm_worker_ein_history" bweh
INNER JOIN ( INNER JOIN (
SELECT * FROM ( SELECT a."id_number", a."certificate_id",a."issuing_authority",a."first_date",
a."review_date", a."valid_start_date",a."valid_end_date",a."reality_review_date",a."certificate_photo" FROM (
SELECT * FROM "ynrealname"."bm_certificate_read" ORDER BY "valid_end_date" DESC FETCH FIRST 999999999 ROWS ONLY SELECT * FROM "ynrealname"."bm_certificate_read" ORDER BY "valid_end_date" DESC FETCH FIRST 999999999 ROWS ONLY
) a GROUP BY a."id_number", a."certificate_id" ) a GROUP BY a."id_number", a."certificate_id",a."issuing_authority",a."first_date",
a."review_date", a."valid_start_date",a."valid_end_date",a."reality_review_date",a."certificate_photo"
) bcr ON bweh."id_number" = bcr."id_number" ) bcr ON bweh."id_number" = bcr."id_number"
inner JOIN "ynrealname"."bm_certificate_type" bct ON bcr."certificate_id" = bct."id" and bct."is_hidden" = '0' AND bct."is_active" = '1' inner JOIN "ynrealname"."bm_certificate_type" bct ON bcr."certificate_id" = bct."id" and bct."is_hidden" = '0' AND bct."is_active" = '1'
where bweh."is_active" = '1' AND bweh."exit_status" !=1 where bweh."is_active" = '1' AND bweh."exit_status" !=1
@ -112,9 +118,11 @@
FROM FROM
"ynrealname"."bm_worker_ein_history" bweh "ynrealname"."bm_worker_ein_history" bweh
INNER JOIN ( INNER JOIN (
SELECT * FROM ( SELECT a."id_number", a."certificate_id",a."issuing_authority",a."first_date",
a."review_date", a."valid_start_date",a."valid_end_date",a."reality_review_date",a."certificate_photo" FROM (
SELECT * FROM "ynrealname"."bm_certificate_read" ORDER BY "valid_end_date" DESC FETCH FIRST 999999999 ROWS ONLY SELECT * FROM "ynrealname"."bm_certificate_read" ORDER BY "valid_end_date" DESC FETCH FIRST 999999999 ROWS ONLY
) a GROUP BY a."id_number", a."certificate_id" ) a GROUP BY a."id_number", a."certificate_id",a."issuing_authority",a."first_date",
a."review_date", a."valid_start_date",a."valid_end_date",a."reality_review_date",a."certificate_photo"
) bcr ON bweh."id_number" = bcr."id_number" ) bcr ON bweh."id_number" = bcr."id_number"
INNER JOIN "ynrealname"."bm_certificate_type" bct ON bcr."certificate_id" = bct."id" INNER JOIN "ynrealname"."bm_certificate_type" bct ON bcr."certificate_id" = bct."id"
AND bct."is_hidden" = '0' AND bct."is_hidden" = '0'
@ -157,9 +165,11 @@
FROM FROM
"ynrealname"."bm_certificate_type" bct "ynrealname"."bm_certificate_type" bct
LEFT JOIN ( LEFT JOIN (
SELECT * FROM ( SELECT a."id_number", a."certificate_id",a."issuing_authority",a."first_date",
a."review_date", a."valid_start_date",a."valid_end_date",a."reality_review_date",a."certificate_photo" FROM (
SELECT * FROM "ynrealname"."bm_certificate_read" ORDER BY "valid_end_date" DESC FETCH FIRST 999999999 ROWS ONLY SELECT * FROM "ynrealname"."bm_certificate_read" ORDER BY "valid_end_date" DESC FETCH FIRST 999999999 ROWS ONLY
) a GROUP BY a."id_number", a."certificate_id" ) a GROUP BY a."id_number", a."certificate_id",a."issuing_authority",a."first_date",
a."review_date", a."valid_start_date",a."valid_end_date",a."reality_review_date",a."certificate_photo"
) bcr ON bcr."certificate_id" = bct."id" ) bcr ON bcr."certificate_id" = bct."id"
LEFT JOIN "ynrealname"."bm_worker_ein_history" bweh ON bweh."id_number" = bcr."id_number" AND bweh."is_active" = '1' LEFT JOIN "ynrealname"."bm_worker_ein_history" bweh ON bweh."id_number" = bcr."id_number" AND bweh."is_active" = '1'
LEFT JOIN "ynrealname"."bm_worker" bw ON bw."id_number" = bweh."id_number" AND bw."is_active" = '1' LEFT JOIN "ynrealname"."bm_worker" bw ON bw."id_number" = bweh."id_number" AND bw."is_active" = '1'
@ -188,18 +198,17 @@
AND bweh."post_id" like concat('%',#{params.postId},'%') AND bweh."post_id" like concat('%',#{params.postId},'%')
</if> </if>
<if test="params.certificatesState == 1 or params.certificatesState == '1'"> <if test="params.certificatesState == 1 or params.certificatesState == '1'">
AND (bcr."valid_start_date" &lt; CURRENT_DATE AND bcr."valid_end_date" > CURRENT_DATE) AND (TO_DATE(bcr."valid_start_date",'YYYY-MM-DD') &lt; CURRENT_DATE AND TO_DATE(bcr."valid_end_date",'YYYY-MM-DD') > CURRENT_DATE)
</if> </if>
<if test="params.certificatesState == 2 or params.certificatesState == '2'"> <if test="params.certificatesState == 2 or params.certificatesState == '2'">
AND (bcr."valid_start_date" > CURRENT_DATE OR bcr."valid_end_date" &lt; CURRENT_DATE) AND (TO_DATE(bcr."valid_start_date",'YYYY-MM-DD') > CURRENT_DATE OR TO_DATE(bcr."valid_end_date",'YYYY-MM-DD') &lt; CURRENT_DATE)
</if> </if>
<if test="params.certificatesState == 3 or params.certificatesState == '3'"> <if test="params.certificatesState == 3 or params.certificatesState == '3'">
AND (bcr."review_date" - CURRENT_DATE > 0 AND bcr."review_date" - CURRENT_DATE &lt;= 90) AND (TO_DATE(bcr."review_date",'YYYY-MM-DD') - CURRENT_DATE > 0 AND TO_DATE(bcr."review_date",'YYYY-MM-DD') - CURRENT_DATE &lt;= 90)
</if> </if>
<if test="params.certificatesState == 4 or params.certificatesState == '4'"> <if test="params.certificatesState == 4 or params.certificatesState == '4'">
AND (bcr."review_date" - CURRENT_DATE > 0 AND bcr."review_date" - CURRENT_DATE &lt;= 30) AND (TO_DATE(bcr."review_date",'YYYY-MM-DD') - CURRENT_DATE > 0 AND TO_DATE(bcr."review_date",'YYYY-MM-DD') - CURRENT_DATE &lt;= 30)
</if> </if>
GROUP BY bw."name", bcr."id_number", td."value", bct."work_type", bct."work_operation", bcr."review_date", bcr."valid_start_date", bcr."valid_end_date", bcr."issuing_authority", bcr."certificate_photo", bct."neaten_work_operation" GROUP BY bw."name", bcr."id_number", td."value", bct."work_type", bct."work_operation", bcr."review_date", bcr."valid_start_date", bcr."valid_end_date", bcr."issuing_authority", bcr."certificate_photo", bct."neaten_work_operation"
<if test="offset != null and offset >= 0 and limit != null and limit >= 0"> <if test="offset != null and offset >= 0 and limit != null and limit >= 0">
OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY
@ -214,9 +223,11 @@
FROM FROM
"ynrealname"."bm_certificate_type" bct "ynrealname"."bm_certificate_type" bct
LEFT JOIN ( LEFT JOIN (
SELECT * FROM ( SELECT a."id_number", a."certificate_id",a."issuing_authority",a."first_date",
a."review_date", a."valid_start_date",a."valid_end_date",a."reality_review_date",a."certificate_photo" FROM (
SELECT * FROM "ynrealname"."bm_certificate_read" ORDER BY "valid_end_date" DESC FETCH FIRST 999999999 ROWS ONLY SELECT * FROM "ynrealname"."bm_certificate_read" ORDER BY "valid_end_date" DESC FETCH FIRST 999999999 ROWS ONLY
) a GROUP BY a."id_number", a."certificate_id" ) a GROUP BY a."id_number", a."certificate_id",a."issuing_authority",a."first_date",
a."review_date", a."valid_start_date",a."valid_end_date",a."reality_review_date",a."certificate_photo"
) bcr ON bcr."certificate_id" = bct."id" ) bcr ON bcr."certificate_id" = bct."id"
LEFT JOIN "ynrealname"."bm_worker_ein_history" bweh ON bweh."id_number" = bcr."id_number" AND bweh."is_active" = '1' LEFT JOIN "ynrealname"."bm_worker_ein_history" bweh ON bweh."id_number" = bcr."id_number" AND bweh."is_active" = '1'
LEFT JOIN "ynrealname"."bm_worker" bw ON bw."id_number" = bweh."id_number" AND bw."is_active" = '1' LEFT JOIN "ynrealname"."bm_worker" bw ON bw."id_number" = bweh."id_number" AND bw."is_active" = '1'
@ -244,16 +255,16 @@
AND bweh."post_id" like concat('%',#{params.postId},'%') AND bweh."post_id" like concat('%',#{params.postId},'%')
</if> </if>
<if test="params.certificatesState == 1 or params.certificatesState == '1'"> <if test="params.certificatesState == 1 or params.certificatesState == '1'">
AND (bcr."valid_start_date" &lt; CURRENT_DATE AND bcr."valid_end_date" > CURRENT_DATE) AND (TO_DATE(bcr."valid_start_date",'YYYY-MM-DD') &lt; CURRENT_DATE AND TO_DATE(bcr."valid_end_date",'YYYY-MM-DD') > CURRENT_DATE)
</if> </if>
<if test="params.certificatesState == 2 or params.certificatesState == '2'"> <if test="params.certificatesState == 2 or params.certificatesState == '2'">
AND (bcr."valid_start_date" > CURRENT_DATE OR bcr."valid_end_date" &lt; CURRENT_DATE) AND (TO_DATE(bcr."valid_start_date",'YYYY-MM-DD') > CURRENT_DATE OR TO_DATE(bcr."valid_end_date",'YYYY-MM-DD') &lt; CURRENT_DATE)
</if> </if>
<if test="params.certificatesState == 3 or params.certificatesState == '3'"> <if test="params.certificatesState == 3 or params.certificatesState == '3'">
AND (bcr."review_date" - CURRENT_DATE > 0 AND bcr."review_date" - CURRENT_DATE &lt;= 90) AND (TO_DATE(bcr."review_date",'YYYY-MM-DD') - CURRENT_DATE > 0 AND TO_DATE(bcr."review_date",'YYYY-MM-DD') - CURRENT_DATE &lt;= 90)
</if> </if>
<if test="params.certificatesState == 4 or params.certificatesState == '4'"> <if test="params.certificatesState == 4 or params.certificatesState == '4'">
AND (bcr."review_date" - CURRENT_DATE > 0 AND bcr."review_date" - CURRENT_DATE &lt;= 30) AND (TO_DATE(bcr."review_date",'YYYY-MM-DD') - CURRENT_DATE > 0 AND TO_DATE(bcr."review_date",'YYYY-MM-DD') - CURRENT_DATE &lt;= 30)
</if> </if>
GROUP BY bcr."id_number",bct."neaten_work_operation" ) aa GROUP BY bcr."id_number",bct."neaten_work_operation" ) aa
</select> </select>

View File

@ -13,9 +13,9 @@
<select id="getContractManageList" resultType="com.bonus.bmw.person.entity.ContractBean"> <select id="getContractManageList" resultType="com.bonus.bmw.person.entity.ContractBean">
SELECT SELECT
bwc.id, bwc."id",
bw.NAME, bw."name",
bw.ID_NUMBER AS idNumber, bw."id_number" AS idNumber,
sdd."id" AS postId, sdd."id" AS postId,
sdd."value" AS postName, sdd."value" AS postName,
bwc."effectDate", bwc."effectDate",
@ -24,48 +24,48 @@
bwc."contractType", bwc."contractType",
bwc."contractType" AS miurInsurance, bwc."contractType" AS miurInsurance,
CASE WHEN bwc."sub_contract_url" IS NULL THEN bwc."person_contract_url" ELSE bwc."sub_contract_url" END AS url, CASE WHEN bwc."sub_contract_url" IS NULL THEN bwc."person_contract_url" ELSE bwc."sub_contract_url" END AS url,
bp.NAME AS proName, bp."name" AS proName,
bst."team_name" AS teamName, bst."team_name" AS teamName,
bwc."is_audit" as isAudit, bwc."is_audit" as isAudit,
bwcd."is_sign" as isSign, bwcd."is_sign" as isSign,
bs."sub_name" AS subName bs."sub_name" AS subName
FROM FROM
"ynrealname"."bm_worker" bw "ynrealname"."bm_worker" bw
LEFT JOIN "ynrealname"."t_dict" sdd ON sdd.id = bw.POST_ID LEFT JOIN "ynrealname"."t_dict" sdd ON sdd."id" = bw."post_id"
AND sdd.is_active = '1' AND sdd."is_active" = '1'
LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bwc.idCard = bw.ID_NUMBER LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bwc."idCard" = bw."id_number"
AND bwc.is_active = '1' AND bwc."is_active" = '1'
LEFT JOIN "ynrealname"."bm_worker_contract_details" bwcd ON bwcd.id_Card = bw.ID_NUMBER LEFT JOIN "ynrealname"."bm_worker_contract_details" bwcd ON bwcd."id_card" = bw."id_number"
AND bwcd.is_active = '1' AND bwcd."is_active" = '1'
AND bwcd.contract_id = bwc.id AND bwcd."contract_id" = bwc."id"
LEFT JOIN "ynrealname"."bm_team_user_relation" btur ON btur.id_number = bw.id_number LEFT JOIN "ynrealname"."bm_team_user_relation" btur ON btur."id_number" = bw."id_number"
AND btur.is_active = '1' AND btur."is_active" = '1'
LEFT JOIN "ynrealname"."bm_sub_team" bst ON bst.id = btur.team_id LEFT JOIN "ynrealname"."bm_sub_team" bst ON bst."id" = btur."team_id"
AND bst.is_active = '1' AND bst."is_active" = '1'
LEFT JOIN "ynrealname"."bm_sub_relation" bsr ON bsr.`v` = bst.id LEFT JOIN "ynrealname"."bm_sub_relation" bsr ON bsr."v" = bst."id"
AND bsr.is_active = '1' AND bsr."is_active" = '1'
AND bsr.type = '3' AND bsr."type" = '3'
LEFT JOIN "ynrealname"."bm_sub_contract" bsc ON bsc.id = bsr.sub_contract_id LEFT JOIN "ynrealname"."bm_sub_contract" bsc ON bsc."id" = bsr."sub_contract_id"
AND bsc.is_active = '1' AND bsc."is_active" = '1'
LEFT JOIN "ynrealname"."bm_subcontractor" bs ON bs.id = bsc.sub_id LEFT JOIN "ynrealname"."bm_subcontractor" bs ON bs."id" = bsc."sub_id"
AND bs.is_active = '1' AND bs."is_active" = '1'
LEFT JOIN "ynrealname"."bm_project" bp ON bp.id = bsc.pro_id LEFT JOIN "ynrealname"."bm_project" bp ON bp."id" = bsc."pro_id"
AND bp.is_active = '1' AND bp."is_active" = '1'
LEFT JOIN "ynrealname"."pm_organization" po ON po.id = bp.company_id LEFT JOIN "ynrealname"."pm_organization" po ON po."id" = bp."company_id"
AND po.is_active = '1' AND po."is_active" = '1'
WHERE WHERE
bw.IS_ACTIVE = '1' bw."is_active" = '1'
<if test="params.orgId != null and params.orgId != '' and params.roleLevel &lt; 3"> <if test="params.orgId != null and params.orgId != '' and params.roleLevel &lt; 3">
AND po.id in (${params.orgAll}) AND po."id" in (${params.orgAll})
</if> </if>
<if test="params.orgId != null and params.orgId != '' and params.roleLevel >= 3"> <if test="params.orgId != null and params.orgId != '' and params.roleLevel >= 3">
AND po.id = #{params.orgId} AND po."id" = #{params.orgId}
</if> </if>
<if test="params.proId != null and params.proId !=''"> <if test="params.proId != null and params.proId !=''">
and bp.id = #{params.proId} and bp."id" = #{params.proId}
</if> </if>
<if test="params.subId != null and params.subId !='' "> <if test="params.subId != null and params.subId !='' ">
AND (bs.id = #{params.subId} or bs.id is null) AND (bs."id" = #{params.subId} or bs."id" is null)
</if> </if>
<if test="params.subName != null and params.subName !=''"> <if test="params.subName != null and params.subName !=''">
and instr(bs."sub_name",#{params.subName}) > 0 and instr(bs."sub_name",#{params.subName}) > 0
@ -77,27 +77,27 @@
and bwc."contractType" = #{params.contractType} and bwc."contractType" = #{params.contractType}
</if> </if>
<if test="params.name != null and params.name !=''"> <if test="params.name != null and params.name !=''">
and locate(#{params.name},bw.`NAME`) and locate(#{params.name},bw."name")
</if> </if>
<if test="params.idNumber != null and params.idNumber !=''"> <if test="params.idNumber != null and params.idNumber !=''">
and locate(#{params.idNumber},bw.ID_NUMBER) and locate(#{params.idNumber},bw."id_number")
</if> </if>
GROUP BY GROUP BY
bwc.id, bwc."id",
bw.`NAME`, bw."name",
bw.ID_NUMBER, bw."id_number",
sdd.`id`, sdd."id",
sdd.`value`, sdd."value",
bwc.effectDate, bwc."effectDate",
bwc.contractValidDate, bwc."contractValidDate",
bwc.contractCode, bwc."contractCode",
bwc.contractType, bwc."contractType",
(CASE WHEN bwc.sub_contract_url IS NULL THEN bwc.person_contract_url ELSE bwc.sub_contract_url END), (CASE WHEN bwc."sub_contract_url" IS NULL THEN bwc."person_contract_url" ELSE bwc."sub_contract_url" END),
bp.NAME, bp."name",
bst.team_name, bst."team_name",
bwc.is_audit, bwc."is_audit",
bwcd.is_sign, bwcd."is_sign",
bs.sub_name bs."sub_name"
</select> </select>
<select id="getContractManageCount" resultType="java.lang.Integer"> <select id="getContractManageCount" resultType="java.lang.Integer">
@ -105,9 +105,9 @@
from ( from (
SELECT SELECT
bwc.id, bwc.id,
bw.`NAME`, bw."name",
bw.ID_NUMBER AS idNumber, bw."id_number" AS idNumber,
sdd.`value` AS postName, sdd."value" AS postName,
bwc.effectDate, bwc.effectDate,
bwc.contractValidDate, bwc.contractValidDate,
bwc.contractCode, bwc.contractCode,
@ -162,9 +162,9 @@
</if> </if>
<if test="params.keyWord !=null and params.keyWord !=''"> <if test="params.keyWord !=null and params.keyWord !=''">
and( and(
bw.`NAME` like CONCAT('%',#{params.keyWord},'%') OR bw."NAME" like CONCAT('%',#{params.keyWord},'%') OR
bw.ID_NUMBER like CONCAT('%',#{params.keyWord},'%') OR bw.ID_NUMBER like CONCAT('%',#{params.keyWord},'%') OR
sdd.`value` like CONCAT('%',#{params.keyWord},'%') OR sdd."value" like CONCAT('%',#{params.keyWord},'%') OR
bwc."effectDate" like CONCAT('%',#{params.keyWord},'%') OR bwc."effectDate" like CONCAT('%',#{params.keyWord},'%') OR
bwc."contractCode" like CONCAT('%',#{params.keyWord},'%') OR bwc."contractCode" like CONCAT('%',#{params.keyWord},'%') OR
bwc."contractType" like CONCAT('%',#{params.keyWord},'%') bwc."contractType" like CONCAT('%',#{params.keyWord},'%')
@ -185,17 +185,23 @@
<!--新增合同见证照片--> <!--新增合同见证照片-->
<insert id="addContractPhoto"> <insert id="addContractPhoto">
insert into "ynrealname"."bm_worker_contract_witness" insert into "ynrealname"."bm_worker_contract_witness"
("contract_id",ID_NUMBER, "witness_path","upload_date", "upload_time", "upload_id", "is_active") ("contract_id", "ID_NUMBER", "witness_path", "upload_date", "upload_time", "upload_id", "is_active")
values values
<foreach item="params" collection="list" separator=","> <foreach item="params" collection="list" separator="," >
(#{params.id}, #{params.idNumber}, #{params.witnessPath}, #{params.uploadDate}, #{params.uploadTime}, ( #{params.id, jdbcType=VARCHAR},
#{params.uploadId}, '1') #{params.idNumber, jdbcType=VARCHAR},
#{params.witnessPath, jdbcType=VARCHAR},
#{params.uploadDate, jdbcType=DATE},
#{params.uploadTime, jdbcType=TIMESTAMP},
#{params.uploadId, jdbcType=VARCHAR},
'1'
)
</foreach> </foreach>
</insert> </insert>
<!--新增合同见证基本信息--> <!--新增合同见证基本信息-->
<insert id="addContractInfo" useGeneratedKeys="true" keyColumn="id" keyProperty="id"> <insert id="addContractInfo" useGeneratedKeys="true" keyColumn="&quot;id&quot;" keyProperty="id">
insert into "ynrealname"."bm_worker_contract" insert into "ynrealname"."bm_worker_contract"
(id,idCard,NAME,post, "contractCode", "laborContractType", "role", "contractValidDate", "contractInvalidDate", ("id", "idCard", "name", "post", "contractCode", "laborContractType", "role", "contractValidDate", "contractInvalidDate",
"contractType", "wageApprovedWay", "wageCriterion", "miurInsurance", "whetherOnJob", "endowmentInsurance" "contractType", "wageApprovedWay", "wageCriterion", "miurInsurance", "whetherOnJob", "endowmentInsurance"
<if test="contractType == '纸质合同'"> <if test="contractType == '纸质合同'">
,"is_audit" ,"is_audit"
@ -245,43 +251,43 @@
<delete id="delContract"> <delete id="delContract">
update "ynrealname"."bm_worker_contract" set is_active = '0' where idCard = #{idNumber} delete from "ynrealname"."bm_worker_contract" where "id" = #{id}
; ;
update "ynrealname"."bm_worker_contract_details" set is_active = '0' where id_card = #{idNumber} delete from "ynrealname"."bm_worker_contract_details" where "id_card" = #{idNumber}
; ;
</delete> </delete>
<delete id="delContractPhoto"> <delete id="delContractPhoto">
update "ynrealname"."bm_worker_contract_witness" set is_active = '0' where ID_NUMBER = #{idNumber} delete from "ynrealname"."bm_worker_contract_witness" where "id_number" = #{idNumber}
</delete> </delete>
<select id="getContractSingletonCount" resultType="java.lang.Integer"> <select id="getContractSingletonCount" resultType="java.lang.Integer">
select count(1) from ( select count(1) from (
SELECT SELECT
bwc.id, bwc."id",
bw.id_number as idNumber, bw."id_number" as idNumber,
bwc.contractCode, bwc."contractCode",
bwc.contractType, bwc."contractType",
bwc.contractType AS miurInsurance, bwc."contractType" AS miurInsurance,
bwc.upload_time as uploadTime, bwc."upload_time" as uploadTime,
CASE CASE
WHEN bwc.sub_contract_url IS NULL THEN bwc.person_contract_url ELSE bwc.sub_contract_url WHEN bwc."sub_contract_url" IS NULL THEN bwc."person_contract_url" ELSE bwc."sub_contract_url"
END AS url, END AS url,
CASE WHEN bwc.is_active = '1' THEN '有效' ELSE '无效' END as isActive CASE WHEN bwc."is_active" = '1' THEN '有效' ELSE '无效' END as isActive
FROM FROM
"ynrealname"."bm_worker" bw "ynrealname"."bm_worker" bw
LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bwc.idCard = bw.ID_NUMBER LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bwc."idCard" = bw."id_number"
LEFT JOIN "ynrealname"."bm_worker_contract_details" bwcd ON bwcd.id_card = bw.ID_NUMBER LEFT JOIN "ynrealname"."bm_worker_contract_details" bwcd ON bwcd."id_card" = bw."id_number"
AND bwcd.contract_id = bwc.id AND bwcd."contract_id" = bwc."id"
LEFT JOIN "ynrealname"."t_dict" sdd ON sdd.id = bw.POST_ID LEFT JOIN "ynrealname"."t_dict" sdd ON sdd."id" = bw."post_id"
LEFT JOIN "ynrealname"."bm_project" bp ON bp.id = bwc.PRO_ID LEFT JOIN "ynrealname"."bm_project" bp ON bp."id" = bwc."pro_id"
where bw.IS_ACTIVE = '1' where bw."is_active" = '1'
<if test="params != null and params !=''"> <if test="params != null and params !=''">
<if test="params.idNumber != null and params.idNumber !=''"> <if test="params.idNumber != null and params.idNumber !=''">
and bw.ID_NUMBER = #{params.idNumber} and bw."id_number" = #{params.idNumber}
</if> </if>
<if test="params.keyword !=null and params.keyword !=''"> <if test="params.keyword !=null and params.keyword !=''">
and( and(
bwc.contractCode like CONCAT('%',#{params.keyword},'%') bwc."contractCode" like CONCAT('%',#{params.keyword},'%')
) )
</if> </if>
</if> </if>
@ -289,30 +295,31 @@
</select> </select>
<select id="getContractSingletonList" resultType="com.bonus.bmw.person.entity.ContractBean"> <select id="getContractSingletonList" resultType="com.bonus.bmw.person.entity.ContractBean">
SELECT SELECT
bwc.id, bwc."id",
bw.id_number as idNumber, bw."id_number" as idNumber,
bwc.contractCode, bwc."contractCode",
bwc.contractType, bwc."contractType",
bwc.contractType AS miurInsurance, bwc."contractType" AS miurInsurance,
bwc.upload_time as uploadTime, bwc."upload_time" as uploadTime,
IF CASE
( bwc.sub_contract_url IS NULL, bwc.person_contract_url, bwc.sub_contract_url ) AS url, WHEN bwc."sub_contract_url" IS NULL THEN bwc."person_contract_url" ELSE bwc."sub_contract_url"
IF(bwc.is_active = '1','有效','无效') as isActive END AS url,
CASE WHEN bwc."is_active" = '1' THEN '有效' ELSE '无效' END as isActive
FROM FROM
"ynrealname"."bm_worker" bw "ynrealname"."bm_worker" bw
LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bwc.idCard = bw.ID_NUMBER LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bwc."idCard" = bw."id_number"
LEFT JOIN "ynrealname"."bm_worker_contract_details" bwcd ON bwcd.id_card = bw.ID_NUMBER LEFT JOIN "ynrealname"."bm_worker_contract_details" bwcd ON bwcd."id_card" = bw."id_number"
AND bwcd.contract_id = bwc.id AND bwcd."contract_id" = bwc."id"
LEFT JOIN "ynrealname"."t_dict" sdd ON sdd.id = bw.POST_ID LEFT JOIN "ynrealname"."t_dict" sdd ON sdd."id" = bw."post_id"
LEFT JOIN "ynrealname"."bm_project" bp ON bp.id = bwc.PRO_ID LEFT JOIN "ynrealname"."bm_project" bp ON bp."id" = bwc."pro_id"
where bw.IS_ACTIVE = '1' where bw."is_active" = '1'
<if test="params != null and params !=''"> <if test="params != null and params !=''">
<if test="params.idNumber != null and params.idNumber !=''"> <if test="params.idNumber != null and params.idNumber !=''">
and bw.ID_NUMBER = #{params.idNumber} and bw."id_number" = #{params.idNumber}
</if> </if>
<if test="params.keyword !=null and params.keyword !=''"> <if test="params.keyword !=null and params.keyword !=''">
and( and(
bwc.contractCode like CONCAT('%',#{params.keyword},'%') bwc."contractCode" like CONCAT('%',#{params.keyword},'%')
) )
</if> </if>
</if> </if>
@ -431,12 +438,12 @@
<select id="getWorkerEinRecord" resultType="java.lang.String"> <select id="getWorkerEinRecord" resultType="java.lang.String">
SELECT SELECT
ein_time bweh."ein_time"
FROM FROM
"ynrealname"."bm_worker_ein_history" bweh "ynrealname"."bm_worker_ein_history" bweh
WHERE WHERE
id_number = #{idNumber} bweh."id_number" = #{idNumber}
ORDER BY ein_time DESC ORDER BY bweh."ein_time" DESC
OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY
</select> </select>

View File

@ -44,7 +44,7 @@
LEFT JOIN "ynrealname"."bm_team_user_relation" btur ON btur."team_id" = bsr."value" AND btur."is_active" = '1' LEFT JOIN "ynrealname"."bm_team_user_relation" btur ON btur."team_id" = bsr."value" AND btur."is_active" = '1'
LEFT JOIN "ynrealname"."bm_worker" bw ON bw."id_number" = btur."id_number" AND bw."is_active" = '1' LEFT JOIN "ynrealname"."bm_worker" bw ON bw."id_number" = btur."id_number" AND bw."is_active" = '1'
GROUP BY GROUP BY
pm."id" pm."id",pm."name"
ORDER BY ORDER BY
pm."id" ASC pm."id" ASC
<if test="offset != null and limit != null"> <if test="offset != null and limit != null">
@ -63,7 +63,7 @@
) pm ) pm
LEFT JOIN "ynrealname"."bm_project" bp ON bp."two_com_id" = pm."id" LEFT JOIN "ynrealname"."bm_project" bp ON bp."two_com_id" = pm."id"
AND bp."is_active" = '1' AND bp."is_active" = '1'
LEFT JOIN ( SELECT "id_number", "pro_id" FROM "ynrealname"."fc_face_contrast" WHERE "current_day" = #{params.startTime} GROUP BY "id_number", "current_day" ) ffc ON ffc."pro_id" = bp."id" LEFT JOIN ( SELECT "id_number", "pro_id" FROM "ynrealname"."fc_face_contrast" WHERE "current_day" = #{params.startTime} GROUP BY "id_number", "current_day","pro_id" ) ffc ON ffc."pro_id" = bp."id"
GROUP BY GROUP BY
pm."id" pm."id"
ORDER BY ORDER BY
@ -738,8 +738,8 @@
</select> </select>
<select id="getWorkAttendanceTemporaryList" resultType="com.bonus.bmw.person.entity.FaceContrastNewBean"> <select id="getWorkAttendanceTemporaryList" resultType="com.bonus.bmw.person.entity.FaceContrastNewBean">
SELECT SELECT
pm."id", pm."id" as id,
pm.`name`, pm."name" as name,
COUNT(DISTINCT bw."id_number") as allPersonNum COUNT(DISTINCT bw."id_number") as allPersonNum
FROM FROM
( SELECT "id","name" FROM "ynrealname"."pm_organization" WHERE ( SELECT "id","name" FROM "ynrealname"."pm_organization" WHERE
@ -749,10 +749,10 @@
</if> </if>
) pm ) pm
LEFT JOIN "ynrealname"."bm_project" bp ON bp."two_com_id" = pm."id" and bp."is_active" = '1' LEFT JOIN "ynrealname"."bm_project" bp ON bp."two_com_id" = pm."id" and bp."is_active" = '1'
LEFT JOIN ( SELECT "id_number", "project_id" FROM "ynrealname"."bm_worker_ein_history" WHERE ("sub_id" is null or "sub_id" = 0) and "is_active" = '1' AND "is_furlough_person" = '0' AND "exit_status" != '1' GROUP BY "id_number") bweh ON bweh."project_id" = bp."id" LEFT JOIN ( SELECT "id_number", "project_id" FROM "ynrealname"."bm_worker_ein_history" WHERE ("sub_id" is null or "sub_id" = 0) and "is_active" = '1' AND "is_furlough_person" = '0' AND "exit_status" != '1' GROUP BY "id_number","project_id") bweh ON bweh."project_id" = bp."id"
LEFT JOIN "ynrealname"."bm_worker" bw ON bw."ID_NUMBER" = bweh."ID_NUMBER" and bw."is_active" = '1' LEFT JOIN "ynrealname"."bm_worker" bw ON bw."id_number" = bweh."id_number" and bw."is_active" = '1'
GROUP BY GROUP BY
pm."id" pm."id",pm."name"
ORDER BY ORDER BY
pm."id" ASC pm."id" ASC
<if test="offset != null and limit != null"> <if test="offset != null and limit != null">

View File

@ -97,9 +97,9 @@
"exit_time" = #{exitTime},"exit_examine_time" = #{exitTime},"exit_examine_remark" = #{exitExamineRemark},"is_force" = '1' "exit_time" = #{exitTime},"exit_examine_time" = #{exitTime},"exit_examine_remark" = #{exitExamineRemark},"is_force" = '1'
WHERE "id_number" = #{idNumber} AND "is_active" = 1; WHERE "id_number" = #{idNumber} AND "is_active" = 1;
UPDATE "ynrealname"."bm_worker_ein_history" SET "is_active" = 0 WHERE "id_number" = #{idNumber} AND "is_active" = 1; UPDATE "ynrealname"."bm_worker_ein_history" SET "is_active" = 0 WHERE "id_number" = #{idNumber} AND "is_active" = 1;
UPDATE "ynrealname"."bm_worker_contract" SET "is_active" = 0 WHERE "id_card" = #{idNumber}; UPDATE "ynrealname"."bm_worker_contract" SET "is_active" = 0 WHERE "idCard" = #{idNumber};
UPDATE "ynrealname"."bm_worker_contract_details" SET "is_active" = 0 WHERE "id_card" = #{idNumber}; UPDATE "ynrealname"."bm_worker_contract_details" SET "is_active" = 0 WHERE "id_card" = #{idNumber};
UPDATE "ynrealname"."bm_worker_contract_witness" SET "is_active" = 0 WHERE "id_number" = #{idNumber}; UPDATE "ynrealname"."bm_worker_contract_witness" SET "is_active" = 0 WHERE "ID_NUMBER" = #{idNumber};
UPDATE "ynrealname"."bm_worker_train" SET "is_active" = 0 WHERE "id_number" = #{idNumber}; UPDATE "ynrealname"."bm_worker_train" SET "is_active" = 0 WHERE "id_number" = #{idNumber};
UPDATE "ynrealname"."bm_team_user_relation" SET "is_active" = 0 WHERE "id_number" = #{idNumber} AND "is_regular_person" = '0' AND "is_active" = '1'; UPDATE "ynrealname"."bm_team_user_relation" SET "is_active" = 0 WHERE "id_number" = #{idNumber} AND "is_regular_person" = '0' AND "is_active" = '1';
UPDATE "ynrealname"."bm_worker" SET "light_status" = 0,"is_furlough_person" = 0 WHERE "id_number" = #{idNumber} AND "is_active" = 1; UPDATE "ynrealname"."bm_worker" SET "light_status" = 0,"is_furlough_person" = 0 WHERE "id_number" = #{idNumber} AND "is_active" = 1;
@ -152,26 +152,26 @@
LEFT JOIN "ynrealname"."bm_subcontractor" AS bs ON bweh."sub_id" = bs."id" AND bs."is_active" = '1' LEFT JOIN "ynrealname"."bm_subcontractor" AS bs ON bweh."sub_id" = bs."id" AND bs."is_active" = '1'
LEFT JOIN "ynrealname"."bm_sub_team" AS bst ON bst."id" = bweh."team_id" AND bst."is_active" = '1' LEFT JOIN "ynrealname"."bm_sub_team" AS bst ON bst."id" = bweh."team_id" AND bst."is_active" = '1'
<include refid="where"/> <include refid="where"/>
GROUP BY "id_number" GROUP BY bweh."id_number"
) a ) a
</select> </select>
<select id="list" resultType="com.bonus.bmw.person.entity.BasePersonBean"> <select id="list" resultType="com.bonus.bmw.person.entity.BasePersonBean">
SELECT * FROM ( SELECT * FROM (
SELECT DISTINCT SELECT DISTINCT
bweh."id_number" AS "id_number", bweh."id_number" AS id_number,
bw."name" AS "name", bw."name" AS name,
td."value" AS "postname", td."value" AS postname,
bst."team_name" AS "teamname", bst."team_name" AS teamname,
po."name" AS "companyname", po."name" AS companyname,
bp."name" AS "proname", bp."name" AS proname,
bs."sub_name" AS "subname", bs."sub_name" AS subname,
bweh."ein_time" AS "eintime", bweh."ein_time" AS eintime,
bweh."exit_time" AS "exittime", bweh."exit_time" AS exittime,
bweh."exit_status" AS "exitstatus", bweh."exit_status" AS exitstatus,
bweh."is_force" AS "isforce", bweh."is_force" AS isforce,
bweh."is_furlough_person" AS "is_furlough_person", bweh."is_furlough_person" AS is_furlough_person,
CASE WHEN (bweh."exit_status" = '1' AND bweh."exit_performance" IS NULL AND (TRUNC(SYSDATE) - TRUNC(bweh."exit_time")) &lt; 4) THEN 1 ELSE 0 END AS "evaluate" CASE WHEN (bweh."exit_status" = '1' AND bweh."exit_performance" IS NULL AND (TRUNC(SYSDATE) - TRUNC(bweh."exit_time")) &lt; 4) THEN 1 ELSE 0 END AS evaluate
FROM FROM
"ynrealname"."bm_worker_ein_history" AS bweh "ynrealname"."bm_worker_ein_history" AS bweh
LEFT JOIN "ynrealname"."bm_worker" AS bw ON bweh."id_number" = bw."id_number" AND bw."is_active" = '1' LEFT JOIN "ynrealname"."bm_worker" AS bw ON bweh."id_number" = bw."id_number" AND bw."is_active" = '1'
@ -278,7 +278,7 @@
FROM FROM
"ynrealname"."bm_worker_contract" "ynrealname"."bm_worker_contract"
WHERE WHERE
"id_card" = #{idNumber} "idCard" = #{idNumber}
AND "is_active" = '1' AND "is_active" = '1'
ORDER BY ORDER BY
"upload_time" DESC "upload_time" DESC

View File

@ -138,16 +138,16 @@
); );
</insert> </insert>
<insert id="addSysUser" useGeneratedKeys="true" keyProperty = "userId" keyColumn="id"> <insert id="addSysUser" useGeneratedKeys="true" keyProperty = "userId" keyColumn="&quot;id&quot;">
insert into "ynrealname"."sys_user" insert into "ynrealname"."sys_user"
("username", "password", "loginname", "id_number","phone", ("username", "password", "loginname", "id_number","phone",
<if test="orgId != null and orgId !=''"> <if test="orgId != null and orgId !=''">
org_id, "org_id",
</if> </if>
<if test="userProId != null and userProId !=''"> <if test="userProId != null and userProId !=''">
pro_id, "pro_id",
</if> </if>
status, is_active) "status", "is_active")
values(#{name}, #{password}, #{name}, #{idNumber}, values(#{name}, #{password}, #{name}, #{idNumber},
#{phone}, #{phone},
<if test="orgId != null and orgId !=''"> <if test="orgId != null and orgId !=''">
@ -158,6 +158,7 @@
</if> </if>
'1', '1') '1', '1')
</insert> </insert>
<insert id="insertSocialSecurityFile"> <insert id="insertSocialSecurityFile">
update "ynrealname"."bm_worker" set social_security_path = #{socialSecurityPath} where "id_number" = #{idNumber} update "ynrealname"."bm_worker" set social_security_path = #{socialSecurityPath} where "id_number" = #{idNumber}
</insert> </insert>
@ -165,7 +166,7 @@
insert into "ynrealname"."bm_worker_payroll"("id_number","path","upload_time") values(#{idNumber},#{wageCardPath},#{uploadTime}) insert into "ynrealname"."bm_worker_payroll"("id_number","path","upload_time") values(#{idNumber},#{wageCardPath},#{uploadTime})
</insert> </insert>
<insert id="insertContractFile"> <insert id="insertContractFile">
insert into "ynrealname"."bm_worker_contract_witness"(contract_id,id_number,witness_path,upload_date) insert into "ynrealname"."bm_worker_contract_witness"("contract_id","id_number","witness_path","upload_date")
values(#{contractId},#{idNumber},#{contractPath},SYSDATE) values(#{contractId},#{idNumber},#{contractPath},SYSDATE)
</insert> </insert>
@ -188,15 +189,15 @@
) src ) src
ON (bwtr."id_number" = src."id_number" AND bwtr."pro_id" = src."pro_id") ON (bwtr."id_number" = src."id_number" AND bwtr."pro_id" = src."pro_id")
WHEN MATCHED THEN UPDATE SET WHEN MATCHED THEN UPDATE SET
bwtr.safety_training = src.safety_training, bwtr."safety_training" = src.safety_training,
bwtr.practical = src.practical, bwtr."practical" = src.practical,
bwtr.theory = src.theory, bwtr."theory" = src.theory,
bwtr.militarize = src.militarize, bwtr."militarize" = src.militarize,
bwtr.safety_score = src.safety_score, bwtr."safety_score" = src.safety_score,
bwtr.practical_score = src.practical_score, bwtr."practical_score" = src.practical_score,
bwtr.theory_score = src.theory_score, bwtr."theory_score" = src.theory_score,
bwtr.militarize_score = src.militarize_score, bwtr."militarize_score" = src.militarize_score,
bwtr.is_pass = src.is_pass bwtr."is_pass" = src.is_pass
WHEN NOT MATCHED THEN INSERT ("id_number", "pro_id", safety_training, practical, theory, militarize, safety_score, practical_score, theory_score, militarize_score, is_pass) WHEN NOT MATCHED THEN INSERT ("id_number", "pro_id", safety_training, practical, theory, militarize, safety_score, practical_score, theory_score, militarize_score, is_pass)
VALUES (src."id_number", src."pro_id", src.safety_training, src.practical, src.theory, src.militarize, src.safety_score, src.practical_score, src.theory_score, src.militarize_score, src.is_pass); VALUES (src."id_number", src."pro_id", src.safety_training, src.practical, src.theory, src.militarize, src.safety_score, src.practical_score, src.theory_score, src.militarize_score, src.is_pass);
</insert> </insert>
@ -221,15 +222,36 @@
</insert> </insert>
<insert id="insertPersonFacePhoto"> <insert id="insertPersonFacePhoto">
MERGE INTO "ynrealname"."bm_worker_photo" merge into "ynrealname"."bm_worker_photo" t -- 目标表
("id_number", PHOTO_TYPE, PHOTO_PATH, upload_id using (
-- 数据源:要插入/更新的数据
select
#{idNumber} as id_number,
3 as photo_type,
#{facePhoto} as photo_path,
#{userId} as upload_id
<if test="faceFeatureByte != null and faceFeatureByte !=''"> <if test="faceFeatureByte != null and faceFeatureByte !=''">
,FACE_FEATURES ,#{faceFeatureByte} as face_features
</if> </if>
) from dual -- 达梦需要from dual作为临时数据源
values (#{idNumber}, 3, #{facePhoto}, #{userId} ) s
on (t."id_number" = s.id_number) -- 匹配条件(判断是否存在)
when matched then -- 存在则更新
update set
t."photo_path" = s.photo_path,
t."upload_id" = s.upload_id
<if test="faceFeatureByte != null and faceFeatureByte !=''"> <if test="faceFeatureByte != null and faceFeatureByte !=''">
,#{faceFeatureByte} ,t."face_features" = s.face_features
</if>
when not matched then -- 不存在则插入
insert ("id_number", "photo_type", "photo_path", "upload_id"
<if test="faceFeatureByte != null and faceFeatureByte !=''">
,"face_features"
</if>
)
values (s.id_number, s.photo_type, s.photo_path, s.upload_id
<if test="faceFeatureByte != null and faceFeatureByte !=''">
,s.face_features
</if> </if>
) )
</insert> </insert>
@ -243,9 +265,8 @@
"post_id" = #{postId}, "person_type" = #{personType}, "worker_skill" = #{workerSkill}, "post_id" = #{postId}, "person_type" = #{personType}, "worker_skill" = #{workerSkill},
"important_person" = #{importantPerson}, "urgent_person" = #{urgentPerson}, "important_person" = #{importantPerson}, "urgent_person" = #{urgentPerson},
"urgent_person_phone" = #{urgentPersonPhone},"id_number" = #{idNumber}, "urgent_person_phone" = #{urgentPersonPhone},"id_number" = #{idNumber},
social_security_number = #{socialSecurityNumber},social_security_unit = #{socialSecurityUnit}, "social_security_number" = #{socialSecurityNumber},"social_security_unit" = #{socialSecurityUnit},
worker_type = #{employmentType}, "light_status" = #{lightStatus}, is_own_person = #{isOwnPerson}, "worker_type" = #{employmentType}, "light_status" = #{lightStatus}, "is_own_person" = #{isOwnPerson}
"id_number" = #{idNumber}
where "id_number" = #{id} and "is_active" = '1' where "id_number" = #{id} and "is_active" = '1'
</update> </update>
@ -284,7 +305,7 @@
<update id="updatePersonContractData"></update> <update id="updatePersonContractData"></update>
<update id="updateSocialSecurityPath"> <update id="updateSocialSecurityPath">
update "ynrealname"."bm_worker" set update "ynrealname"."bm_worker" set
social_security_path = null "social_security_path" = null
where "id_number" = #{idNumber} where "id_number" = #{idNumber}
</update> </update>
@ -294,8 +315,6 @@
update "ynrealname"."bm_worker_ein_history" set "sub_id" = #{subId}, update "ynrealname"."bm_worker_ein_history" set "sub_id" = #{subId},
"team_id" = #{teamId}, "post_id" = #{postId} "team_id" = #{teamId}, "post_id" = #{postId}
where "id_number" = #{idNumber} and "project_id" = #{proId} and "is_active" = 1; where "id_number" = #{idNumber} and "project_id" = #{proId} and "is_active" = 1;
update exam_worker_ein_msg set work_type_id = #{postId}
where id_number = #{idNumber} and pro_id = #{proId} and is_active = 1;
</update> </update>
<update id="updateRedPersonData"> <update id="updateRedPersonData">
@ -365,11 +384,11 @@
bw."sex", bw."sex",
td."value" AS postName, td."value" AS postName,
bw."phone", bw."phone",
CASE WHEN face.PHOTO_PATH IS NOT NULL AND aoto.PHOTO_PATH IS NOT NULL THEN '已采集' ELSE '未采集' END AS isFacePhoto, CASE WHEN face."photo_path" IS NOT NULL AND aoto."photo_path" IS NOT NULL THEN '已采集' ELSE '未采集' END AS isFacePhoto,
bweh."exit_status" AS exitStatus, bweh."exit_status" AS exitStatus,
bweh."is_furlough_person", bweh."is_furlough_person",
CASE WHEN bwb.ID_NUMBER IS NOT NULL AND bwb.BANK_CARD IS NOT NULL AND LENGTH(bwb.BANK_CARD) > 0 THEN '已采集' ELSE '未采集' END AS isPayCard, CASE WHEN bwb."id_number" IS NOT NULL AND bwb."bank_card" IS NOT NULL AND LENGTH(bwb."bank_card") > 0 THEN '已采集' ELSE '未采集' END AS isPayCard,
CASE WHEN bwc.contractType = '纸质合同' THEN (CASE WHEN bwc.is_audit = 1 THEN '已采集' ELSE '未采集' END) ELSE (CASE WHEN bwcd.is_sign = 1 THEN '已采集' ELSE '未采集' END) END AS isContract, CASE WHEN bwc."contractType" = '纸质合同' THEN (CASE WHEN bwc."is_audit" = 1 THEN '已采集' ELSE '未采集' END) ELSE (CASE WHEN bwcd."is_sign" = 1 THEN '已采集' ELSE '未采集' END) END AS isContract,
bst."id" AS teamId, bst."id" AS teamId,
bst."team_name" AS teamName, bst."team_name" AS teamName,
bp."id" AS proId, bp."id" AS proId,
@ -380,11 +399,11 @@
bw."light_status" bw."light_status"
FROM FROM
"ynrealname"."bm_worker" bw "ynrealname"."bm_worker" bw
LEFT JOIN "ynrealname"."bm_worker_photo" face ON face.ID_NUMBER = bw."id_number" AND face.PHOTO_TYPE = 3 AND face.IS_ACTIVE = 1 LEFT JOIN "ynrealname"."bm_worker_photo" face ON face."id_number" = bw."id_number" AND face."photo_type" = 3 AND face."is_active" = 1
LEFT JOIN "ynrealname"."bm_worker_photo" aoto ON aoto.ID_NUMBER = bw."id_number" AND aoto.PHOTO_TYPE = 5 AND aoto.IS_ACTIVE = 1 LEFT JOIN "ynrealname"."bm_worker_photo" aoto ON aoto."id_number" = bw."id_number" AND aoto."photo_type" = 5 AND aoto."is_active" = 1
LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bwb.ID_NUMBER = bw."id_number" AND bwb.is_active = '1' LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bwb."id_number" = bw."id_number" AND bwb."is_active" = '1'
LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bwc.idCard = bw."id_number" AND bwc.is_active = '1' LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bwc."idCard" = bw."id_number" AND bwc."is_active" = '1'
LEFT JOIN "ynrealname"."bm_worker_contract_details" bwcd ON bwcd.id_card = bw."id_number" AND bwcd.is_active = '1' LEFT JOIN "ynrealname"."bm_worker_contract_details" bwcd ON bwcd."id_card" = bw."id_number" AND bwcd."is_active" = '1'
LEFT JOIN "ynrealname"."bm_worker_ein_history" bweh ON bweh."id_number" = bw."id_number" and bweh."is_active" = '1' LEFT JOIN "ynrealname"."bm_worker_ein_history" bweh ON bweh."id_number" = bw."id_number" and bweh."is_active" = '1'
LEFT JOIN "ynrealname"."bm_sub_team" bst ON bst."id" = bweh."team_id" AND bst."is_active" = '1' LEFT JOIN "ynrealname"."bm_sub_team" bst ON bst."id" = bweh."team_id" AND bst."is_active" = '1'
LEFT JOIN "ynrealname"."bm_project" bp ON bp."id" = bweh."project_id" AND bp."is_active" = '1' LEFT JOIN "ynrealname"."bm_project" bp ON bp."id" = bweh."project_id" AND bp."is_active" = '1'
@ -392,7 +411,7 @@
LEFT JOIN "ynrealname"."sys_user" su ON su."id_number" = bw."id_number" AND su."is_active" = '1' LEFT JOIN "ynrealname"."sys_user" su ON su."id_number" = bw."id_number" AND su."is_active" = '1'
LEFT JOIN "ynrealname"."sys_role_user" sru ON sru."userId" = su."id" AND sru."is_active" = '1' LEFT JOIN "ynrealname"."sys_role_user" sru ON sru."userId" = su."id" AND sru."is_active" = '1'
LEFT JOIN "ynrealname"."sys_role" sr ON sr."id" = sru."roleId" AND sr."is_active" = '1' LEFT JOIN "ynrealname"."sys_role" sr ON sr."id" = sru."roleId" AND sr."is_active" = '1'
WHERE bw."IS_ACTIVE" = 1 WHERE bw."is_active" = 1
<if test="params.name != null and params.name != ''"> <if test="params.name != null and params.name != ''">
and INSTR(bw."name", #{params.name}) > 0 and INSTR(bw."name", #{params.name}) > 0
</if> </if>
@ -415,8 +434,8 @@
and bweh."exit_status" in (${params.einStatus}) and bweh."exit_status" in (${params.einStatus})
</if> </if>
GROUP BY bw."name", bw."id_number", bw."sex", td."value", bw."phone", GROUP BY bw."name", bw."id_number", bw."sex", td."value", bw."phone",
face.PHOTO_PATH, aoto.PHOTO_PATH, bweh."exit_status", bweh."is_furlough_person", face."photo_path", aoto."photo_path", bweh."exit_status", bweh."is_furlough_person",
bwb.ID_NUMBER, bwb.BANK_CARD, bwc.contractType, bwc.is_audit, bwcd.is_sign, bwb."id_number", bwb."bank_card", bwc."contractType", bwc."is_audit", bwcd."is_sign",
bst."id", bst."team_name", bp."id", bp."name", sr."name", bst."id", bst."team_name", bp."id", bp."name", sr."name",
bw."ein_status", bw."worker_type", bw."light_status" bw."ein_status", bw."worker_type", bw."light_status"
</select> </select>
@ -438,13 +457,13 @@
bw."expiry_date" AS expiryDate, bw."expiry_date" AS expiryDate,
bw."post_id" AS postId, bw."post_id" AS postId,
bw."phone", bw."phone",
bwb.BANK_NAME AS bankName, bwb."bank_name" AS bankName, -- 非聚合列需加入GROUP BY
bwb.BANK_CARD AS bankCard, bwb."bank_card" AS bankCard, -- 非聚合列需加入GROUP BY
bwb.BANK_NAME AS wageBankName, bwb."bank_name" AS wageBankName, -- 非聚合列需加入GROUP BY
bwb.BANK_CARD AS wageBankCard, bwb."bank_card" AS wageBankCard, -- 非聚合列需加入GROUP BY
bwb.ROLL_BANK_NAME AS wageBankSubBranchName, bwb."roll_bank_name" AS wageBankSubBranchName, -- 非聚合列需加入GROUP BY
WM_CONCAT(DISTINCT bwp.PATH) as wageCardPath, WM_CONCAT(DISTINCT bwp."path") as wageCardPath, -- 聚合列无需加入GROUP BY
bw.person_type AS personType, bw."person_type" AS personType,
bw."worker_skill" AS workerSkill, bw."worker_skill" AS workerSkill,
bw."urgent_person" AS urgentPerson, bw."urgent_person" AS urgentPerson,
bw."urgent_person_phone" AS urgentPersonPhone, bw."urgent_person_phone" AS urgentPersonPhone,
@ -452,97 +471,90 @@
bw."cultrue", bw."cultrue",
bw."important_person" AS importantPerson, bw."important_person" AS importantPerson,
bw."address_phone" AS addressPhone, bw."address_phone" AS addressPhone,
bw.social_security_number, bw."social_security_number",
bw.social_security_unit, bw."social_security_unit",
bw.social_security_path, bw."social_security_path",
bst.id AS teamId, bst."id" AS teamId,
NVL(btur.team_id, '-1') as proTeamId, NVL(btur."team_id", '-1') as proTeamId,
bsc.sub_id as proSubId, bsc."sub_id" as proSubId,
bsc.pro_id as proProId, bsc."pro_id" as proProId,
btur.is_regular_person as isRegularPerson, btur."is_regular_person" as isRegularPerson,
bsc.contract_name AS contractName, bsc."contract_name" AS contractName,
bp."name" AS proName, bp."name" AS proName,
bs.id as subId, bs."id" as subId,
bs."sub_name" AS subName, bs."sub_name" AS subName,
bwc.id AS contractId, bwc."id" AS contractId,
bwc.contractCode, bwc."contractCode",
bwc.laborContractType, bwc."laborContractType",
bwc.contractValidDate, bwc."contractValidDate",
bwc.contractInvalidDate, bwc."contractInvalidDate",
bwc.wageApprovedWay, bwc."wageApprovedWay",
bwc.wageCriterion, bwc."wageCriterion",
bwc.role, bwc."role",
bwc.contractType, bwc."contractType",
bwc.miurInsurance, bwc."miurInsurance",
bwc.whetherOnJob, bwc."whetherOnJob",
bwc.endowmentInsurance, bwc."endowmentInsurance",
WM_CONCAT(bwcw.witness_path) as contractPath, WM_CONCAT(bwcw."witness_path") as contractPath, -- 聚合列无需加入GROUP BY
su.id as userId, su."id" as userId,
su.org_id, su."org_id",
su.pro_id as userProId, su."pro_id" as userProId,
sr.id as roleId, sr."id" as roleId,
bweh.project_id as proId, bweh."project_id" as proId,
bwtr.safety_training as safetyTraining, bwtr."safety_training" as safetyTraining,
bwtr.practical,bwtr.theory,bwtr.militarize, bwtr."practical",
bwtr.safety_score as safetyScore, bwtr."theory",
bwtr.practical_score as practicalScore, bwtr."militarize",
bwtr.theory_score as theoryScore, bwtr."safety_score" as safetyScore,
bwtr.militarize_score as militarizeScore, bwtr."practical_score" as practicalScore,
bw.ein_status as einStatus, bwtr."theory_score" as theoryScore,
bw.worker_type as employmentType, bwtr."militarize_score" as militarizeScore,
face.PHOTO_PATH as facePhoto, bw."ein_status" as einStatus,
face.FACE_FEATURES AS faceFeatureByte, bw."worker_type" as employmentType,
bw.is_furlough_person, face."photo_path" as facePhoto,
CASE WHEN bwc.contractType = '电子合同' THEN NVL(bwc.sub_contract_url, bwc.person_contract_url) ELSE NULL END as contractUrl face."face_features" AS faceFeatureByte,
bw."is_furlough_person",
CASE WHEN bwc."contractType" = '电子合同' THEN NVL(bwc."sub_contract_url", bwc."person_contract_url") ELSE NULL END as contractUrl -- CASE表达式需整体加入GROUP BY
FROM FROM
"ynrealname"."bm_worker" bw "ynrealname"."bm_worker" bw
left join "ynrealname"."bm_worker_ein_history" bweh on bweh.id_number = bw.id_number left join "ynrealname"."bm_worker_ein_history" bweh on bweh."id_number" = bw."id_number" and bweh."is_active" = 1
and bweh.is_active = 1 left join "ynrealname"."bm_worker_training_result" bwtr on bwtr."id_number" = bw."id_number" and bwtr."pro_id" = bweh."project_id" and bwtr."is_active" = '1'
left join "ynrealname"."bm_worker_training_result" bwtr on bwtr.id_number = bw.id_number LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bw."id_number" = bwb."id_number" AND bwb."is_active" = '1'
and bwtr.pro_id = bweh.project_id and bwtr.is_active = '1' LEFT JOIN "ynrealname"."bm_worker_payroll" bwp ON bwp."id_number" = bw."id_number" AND bwp."is_active" = '1'
LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bw.id_number = bwb.ID_NUMBER LEFT JOIN "ynrealname"."bm_team_user_relation" btur ON btur."id_number" = bw."id_number" AND btur."is_active" = '1'
AND bwb.is_active = '1' LEFT JOIN "ynrealname"."bm_sub_team" bst ON bst."id" = bweh."team_id" AND bst."is_active" = '1'
LEFT JOIN "ynrealname"."bm_worker_payroll" bwp ON bwp.ID_NUMBER = bw.id_number LEFT JOIN "ynrealname"."bm_sub_relation" bsr ON bsr."type" = 3 AND bsr."is_active" = '1' AND btur."team_id" = bsr."v"
AND bwp.is_active = '1' LEFT JOIN "ynrealname"."bm_sub_contract" bsc ON bsc."is_active" = '1' AND bsc."id" = bsr."sub_contract_id"
LEFT JOIN "ynrealname"."bm_team_user_relation" btur ON btur.ID_NUMBER = bw.id_number LEFT JOIN "ynrealname"."bm_subcontractor" bs ON bs."id" = bweh."sub_id"
AND btur.is_active = '1' LEFT JOIN "ynrealname"."bm_project" bp ON bp."id" = bsc."pro_id" AND bp."is_active" = '1'
LEFT JOIN "ynrealname"."bm_sub_team" bst ON bst.id = bweh.team_id LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bwc."idCard" = bw."id_number" and bweh."contract_id" = bwc."id" AND bwc."is_active" = '1'
AND bst.is_active = '1' LEFT JOIN "ynrealname"."bm_worker_contract_witness" bwcw ON bwcw."contract_id" = bwc."id" and bwcw."is_active" = '1'
LEFT JOIN "ynrealname"."bm_sub_relation" bsr ON bsr.type = 3 LEFT JOIN "ynrealname"."bm_worker_contract_details" bwcd ON bwcd."id_card" = bw."id_number" AND bwcd."is_active" = '1'
AND bsr.is_active = '1' LEFT JOIN "ynrealname"."sys_user" su ON su."phone" = bw."phone" AND su."is_active" = '1'
AND btur.team_id = bsr.v LEFT JOIN "ynrealname"."sys_role_user" sru ON sru."userId" = su."id" AND sru."is_active" = '1'
LEFT JOIN "ynrealname"."bm_sub_contract" bsc ON bsc.is_active = '1' LEFT JOIN "ynrealname"."sys_role" sr ON sr."id" = sru."roleId" and sr."is_active" = '1'
AND bsc.id = bsr.sub_contract_id LEFT JOIN "ynrealname"."bm_worker_photo" face ON face."id_number" = bw."id_number" AND face."photo_type" = 3 AND face."is_active" = 1
LEFT JOIN "ynrealname"."bm_subcontractor" bs ON bs.id = bweh.sub_id WHERE
LEFT JOIN "ynrealname"."bm_project" bp ON bp.id = bsc.pro_id bw."is_active" = '1'
AND bp.is_active = '1' AND bw."id_number" = #{idNumber}
LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bwc.idCard = bw.id_number and bweh.contract_id = bwc.id GROUP BY
AND bwc.is_active = '1' -- 原有GROUP BY列
LEFT JOIN "ynrealname"."bm_worker_contract_witness" bwcw ON bwcw.contract_id = bwc.id and bwcw.is_active = '1' bw."name", bw."id_number", bw."sex", bw."birthday", bw."ethnic", bw."issueauthority", bw."address",
LEFT JOIN "ynrealname"."bm_worker_contract_details" bwcd ON bwcd.id_card = bw.id_number bw."sign_date", bw."expiry_date", bw."post_id", bw."phone", bw."person_type", bw."worker_skill",
AND bwcd.is_active = '1' bw."urgent_person", bw."urgent_person_phone", bw."political_outlook", bw."cultrue", bw."important_person", bw."address_phone",
LEFT JOIN "ynrealname"."sys_user" su ON su.phone = bw.phone bw."social_security_number", bw."social_security_unit", bw."social_security_path",
AND su.is_active = '1' bst."id", NVL(btur."team_id", '-1'), bsc."sub_id", bsc."pro_id", btur."is_regular_person", bsc."contract_name",
LEFT JOIN "ynrealname"."sys_role_user" sru ON sru.userId = su.id bp."name", bs."id", bs."sub_name", bwc."id", bwc."contractCode", bwc."laborContractType", bwc."contractValidDate",
AND sru.is_active = '1' bwc."contractInvalidDate", bwc."wageApprovedWay", bwc."wageCriterion", bwc."role", bwc."contractType", bwc."miurInsurance",
LEFT JOIN "ynrealname"."sys_role" sr ON sr.id = sru.roleId and sr.is_active = '1' bwc."whetherOnJob", bwc."endowmentInsurance", su."id", su."org_id", su."pro_id", sr."id", bweh."project_id",
LEFT JOIN "ynrealname"."bm_worker_photo" face ON face.ID_NUMBER = bw.id_number bwtr."safety_training", bwtr."practical", bwtr."theory", bwtr."militarize", bwtr."safety_score", bwtr."practical_score",
AND face.PHOTO_TYPE = 3 bwtr."theory_score", bwtr."militarize_score", bw."ein_status", bw."worker_type", face."photo_path", face."face_features",
AND face.IS_ACTIVE = 1 bw."is_furlough_person",
WHERE -- 新增补充SELECT中缺失的非聚合列
bw.is_active = '1' bwb."bank_name", bwb."bank_card", bwb."roll_bank_name",
AND bw.id_number = #{idNumber} -- 新增CASE表达式整体作为GROUP BY列
GROUP BY bw."name", bw."id_number", bw."sex", bw."birthday", bw."ethnic", bw."issueauthority", bw."address", CASE WHEN bwc."contractType" = '电子合同' THEN NVL(bwc."sub_contract_url", bwc."person_contract_url") ELSE NULL END
bw."sign_date", bw."expiry_date", bw."post_id", bw."phone", bw.person_type, bw."worker_skill",
bw."urgent_person", bw."urgent_person_phone", bw."political_outlook", bw."cultrue", bw."important_person", bw."address_phone",
bw.social_security_number, bw.social_security_unit, bw.social_security_path,
bst.id, NVL(btur.team_id, '-1'), bsc.sub_id, bsc.pro_id, btur.is_regular_person, bsc.contract_name,
bp."name", bs.id, bs."sub_name", bwc.id, bwc.contractCode, bwc.laborContractType, bwc.contractValidDate,
bwc.contractInvalidDate, bwc.wageApprovedWay, bwc.wageCriterion, bwc.role, bwc.contractType, bwc.miurInsurance,
bwc.whetherOnJob, bwc.endowmentInsurance, su.id, su.org_id, su.pro_id, sr.id, bweh.project_id,
bwtr.safety_training, bwtr.practical, bwtr.theory, bwtr.militarize, bwtr.safety_score, bwtr.practical_score,
bwtr.theory_score, bwtr.militarize_score, bw.ein_status, bw.worker_type, face.PHOTO_PATH, face.FACE_FEATURES,
bw.is_furlough_person
</select> </select>
<select id="getBlackPerson" resultType="java.lang.String"> <select id="getBlackPerson" resultType="java.lang.String">
@ -592,38 +604,38 @@
</select> </select>
<select id="selectOrgIdByPro" resultType="java.lang.String"> <select id="selectOrgIdByPro" resultType="java.lang.String">
select company_id as orgId from "ynrealname"."bm_project" select "company_id" as orgId from "ynrealname"."bm_project"
where id = #{proId} where "id" = #{proId}
</select> </select>
<select id="getContractByIdNumber" resultType="com.bonus.bmw.person.entity.PersonComprehensiveBean"> <select id="getContractByIdNumber" resultType="com.bonus.bmw.person.entity.PersonComprehensiveBean">
SELECT SELECT
bwc.id AS contractId, bwc."id" AS contractId,
bwc.contractCode, bwc."contractCode",
bwc.laborContractType, bwc."laborContractType",
bwc.contractValidDate, bwc."contractValidDate",
bwc.contractInvalidDate, bwc."contractInvalidDate",
bwc.wageApprovedWay, bwc."wageApprovedWay",
bwc.wageCriterion, bwc."wageCriterion",
bwc.role, bwc."role",
bwc.contractType, bwc."contractType",
bwc.miurInsurance, bwc."miurInsurance",
bwc.whetherOnJob, bwc."whetherOnJob",
bwc.endowmentInsurance, bwc."endowmentInsurance",
WM_CONCAT( bwcw.witness_path ) AS contractPath WM_CONCAT( bwcw."witness_path" ) AS contractPath
FROM FROM
"ynrealname"."bm_worker" bw "ynrealname"."bm_worker" bw
LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bwc.idCard = bw.id_number LEFT JOIN "ynrealname"."bm_worker_contract" bwc ON bwc."idCard" = bw."id_number"
AND bwc.is_active = '1' AND bwc."is_active" = '1'
LEFT JOIN "ynrealname"."bm_worker_contract_witness" bwcw ON bwcw.contract_id = bwc.id LEFT JOIN "ynrealname"."bm_worker_contract_witness" bwcw ON bwcw."contract_id" = bwc."id"
AND bwcw.is_active = '1' AND bwcw."is_active" = '1'
LEFT JOIN "ynrealname"."bm_worker_contract_details" bwcd ON bwcd.id_card = bw.id_number LEFT JOIN "ynrealname"."bm_worker_contract_details" bwcd ON bwcd."id_card" = bw."id_number"
AND bwcd.is_active = '1' AND bwcd."is_active" = '1'
WHERE WHERE
bw.id_number = #{idNumber} and bw.IS_ACTIVE = 1 bw."id_number" = #{idNumber} and bw."is_active" = 1
GROUP BY GROUP BY
bw.id_number, bwc.id, bwc.contractCode, bwc.laborContractType, bwc.contractValidDate, bwc.contractInvalidDate, bw."id_number", bwc."id", bwc."contractCode", bwc."laborContractType", bwc."contractValidDate", bwc."contractInvalidDate",
bwc.wageApprovedWay, bwc.wageCriterion, bwc.role, bwc.contractType, bwc.miurInsurance, bwc.whetherOnJob, bwc.endowmentInsurance bwc."wageApprovedWay", bwc."wageCriterion", bwc."role", bwc."contractType", bwc."miurInsurance", bwc."whetherOnJob", bwc."endowmentInsurance"
</select> </select>
<select id="getPrevEinHistoryProId" resultType="com.bonus.bmw.person.entity.PersonComprehensiveBean"> <select id="getPrevEinHistoryProId" resultType="com.bonus.bmw.person.entity.PersonComprehensiveBean">
SELECT SELECT

View File

@ -26,11 +26,11 @@
<update id="updateInfo"> <update id="updateInfo">
update "ynrealname"."bm_worker_bank" update "ynrealname"."bm_worker_bank"
set BANK_CARD = #{bankCard}, set "bank_card" = #{bankCard},
BANK_NAME = #{bankName}, "bank_name" = #{bankName},
ROLL_BANK_NAME = #{rollBankName}, "roll_bank_name" = #{rollBankName},
"update_time" = SYSDATE "update_time" = SYSDATE
where ID_NUMBER = #{path} where "id_number" = #{path}
</update> </update>
<delete id="deleteInfoById"> <delete id="deleteInfoById">
@ -48,18 +48,18 @@
bp."id" as proId, bp."id" as proId,
bw."name", bw."name",
bp."name" as proName, bp."name" as proName,
bwb.BANK_CARD AS bankCard, bwb."bank_card" AS bankCard,
bwb.BANK_NAME AS bankName, bwb."bank_name" AS bankName,
bwb.ROLL_BANK_NAME AS rollBankName, bwb."roll_bank_name" AS rollBankName,
bwp.PATH, bwp."path",
bwp."upload_time" AS uploadTime, bwp."upload_time" AS uploadTime,
bwp."update_time" AS updateTime, bwp."update_time" AS updateTime,
bst."team_name" AS teamName, bst."team_name" AS teamName,
bs."sub_name" AS subName, bs."sub_name" AS subName,
bwp."is_active" AS isActive bwp."is_active" AS isActive
FROM "ynrealname"."bm_worker" bw FROM "ynrealname"."bm_worker" bw
LEFT JOIN "ynrealname"."bm_worker_payroll" bwp ON bwp.ID_NUMBER = bw."id_number" AND bwp."is_active" = '1' LEFT JOIN "ynrealname"."bm_worker_payroll" bwp ON bwp."id_number" = bw."id_number" AND bwp."is_active" = '1'
LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bwb.ID_NUMBER = bw."id_number" AND bwb."is_active" = '1' LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bwb."id_number" = bw."id_number" AND bwb."is_active" = '1'
LEFT JOIN "ynrealname"."bm_worker_ein_history" bweh ON bw."id_number" = bweh."id_number" LEFT JOIN "ynrealname"."bm_worker_ein_history" bweh ON bw."id_number" = bweh."id_number"
AND bweh."is_active" = '1' AND bweh."is_active" = '1'
LEFT JOIN "ynrealname"."bm_sub_team" bst ON bst."id" = bweh."team_id" LEFT JOIN "ynrealname"."bm_sub_team" bst ON bst."id" = bweh."team_id"
@ -68,14 +68,14 @@
AND bs."is_active" = '1' AND bs."is_active" = '1'
LEFT JOIN "ynrealname"."bm_project" bp ON bweh."project_id" = bp."id" LEFT JOIN "ynrealname"."bm_project" bp ON bweh."project_id" = bp."id"
AND bp."is_active" = '1' AND bp."is_active" = '1'
WHERE bw.IS_ACTIVE = '1' WHERE bw."is_active" = '1'
<if test="params.keyWord != null and params.keyWord != ''"> <if test="params.keyWord != null and params.keyWord != ''">
and ( and (
bw."name" like concat('%', #{params.keyWord}, '%') or bw."name" like concat('%', #{params.keyWord}, '%') or
bw."id_number" like concat('%', #{params.keyWord}, '%') or bw."id_number" like concat('%', #{params.keyWord}, '%') or
bwb.BANK_CARD like concat('%', #{params.keyWord}, '%') or bwb."bank_card" like concat('%', #{params.keyWord}, '%') or
bwb.BANK_NAME like concat('%', #{params.keyWord}, '%') or bwb."bank_name" like concat('%', #{params.keyWord}, '%') or
bwb.ROLL_BANK_NAME like concat('%', #{params.keyWord}, '%') or bwb."roll_bank_name" like concat('%', #{params.keyWord}, '%') or
bp."name" like concat('%', #{params.keyWord}, '%') bp."name" like concat('%', #{params.keyWord}, '%')
) )
</if> </if>
@ -88,7 +88,7 @@
<if test="params.teamName != null and params.teamName !=''"> <if test="params.teamName != null and params.teamName !=''">
and bst."team_name" like concat('%', #{params.teamName}, '%') and bst."team_name" like concat('%', #{params.teamName}, '%')
</if> </if>
GROUP BY bw."id_number", bp."id", bw."name", bp."name", bwb.BANK_CARD, bwb.BANK_NAME, bwb.ROLL_BANK_NAME, bwp.PATH, bwp."upload_time", bwp."update_time", bst."team_name", bs."sub_name", bwp."is_active" GROUP BY bw."id_number", bp."id", bw."name", bp."name", bwb."bank_card", bwb."bank_name", bwb."roll_bank_name", bwp."path", bwp."upload_time", bwp."update_time", bst."team_name", bs."sub_name", bwp."is_active"
OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY
</select> </select>
@ -96,8 +96,8 @@
SELECT SELECT
COUNT(DISTINCT(bw."id_number")) COUNT(DISTINCT(bw."id_number"))
FROM "ynrealname"."bm_worker" bw FROM "ynrealname"."bm_worker" bw
LEFT JOIN "ynrealname"."bm_worker_payroll" bwp ON bwp.ID_NUMBER = bw."id_number" AND bwp."is_active" = '1' LEFT JOIN "ynrealname"."bm_worker_payroll" bwp ON bwp."id_number" = bw."id_number" AND bwp."is_active" = '1'
LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bwb.ID_NUMBER = bw."id_number" AND bwb."is_active" = '1' LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bwb."id_number" = bw."id_number" AND bwb."is_active" = '1'
LEFT JOIN "ynrealname"."bm_worker_ein_history" bweh ON bw."id_number" = bweh."id_number" LEFT JOIN "ynrealname"."bm_worker_ein_history" bweh ON bw."id_number" = bweh."id_number"
AND bweh."is_active" = '1' AND bweh."is_active" = '1'
LEFT JOIN "ynrealname"."bm_sub_team" bst ON bst."id" = bweh."team_id" LEFT JOIN "ynrealname"."bm_sub_team" bst ON bst."id" = bweh."team_id"
@ -106,14 +106,14 @@
AND bs."is_active" = '1' AND bs."is_active" = '1'
LEFT JOIN "ynrealname"."bm_project" bp ON bweh."project_id" = bp."id" LEFT JOIN "ynrealname"."bm_project" bp ON bweh."project_id" = bp."id"
AND bp."is_active" = '1' AND bp."is_active" = '1'
WHERE bw.IS_ACTIVE = '1' WHERE bw."is_active" = '1'
<if test="params.keyWord != null and params.keyWord != ''"> <if test="params.keyWord != null and params.keyWord != ''">
and ( and (
bw."name" like concat('%', #{params.keyWord}, '%') or bw."name" like concat('%', #{params.keyWord}, '%') or
bw."id_number" like concat('%', #{params.keyWord}, '%') or bw."id_number" like concat('%', #{params.keyWord}, '%') or
bwb.BANK_CARD like concat('%', #{params.keyWord}, '%') or bwb."bank_card" like concat('%', #{params.keyWord}, '%') or
bwb.BANK_NAME like concat('%', #{params.keyWord}, '%') or bwb."bank_name" like concat('%', #{params.keyWord}, '%') or
bwb.ROLL_BANK_NAME like concat('%', #{params.keyWord}, '%') or bwb."roll_bank_name" like concat('%', #{params.keyWord}, '%') or
bp."name" like concat('%', #{params.keyWord}, '%') bp."name" like concat('%', #{params.keyWord}, '%')
) )
</if> </if>
@ -134,21 +134,21 @@
bp."id" AS proId, bp."id" AS proId,
bw."name", bw."name",
bp."name" AS proName, bp."name" AS proName,
bwb.BANK_CARD AS bankCard, bwb."bank_card" AS bankCard,
bwb.BANK_NAME AS bankName, bwb."bank_name" AS bankName,
bwb.ROLL_BANK_NAME AS rollBankName, bwb."roll_bank_name" AS rollBankName,
bwp.PATH, bwp."path",
bwp."upload_time" AS uploadTime, bwp."upload_time" AS uploadTime,
bwp."update_time" AS updateTime, bwp."update_time" AS updateTime,
bwp."is_active" AS isActive bwp."is_active" AS isActive
FROM FROM
"ynrealname"."bm_worker" bw "ynrealname"."bm_worker" bw
LEFT JOIN "ynrealname"."bm_worker_payroll" bwp ON bwp.ID_NUMBER = bw."id_number" AND bwp."is_active" = '1' LEFT JOIN "ynrealname"."bm_worker_payroll" bwp ON bwp."id_number" = bw."id_number" AND bwp."is_active" = '1'
LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bwb.ID_NUMBER = bw."id_number" AND bwb."is_active" = '1' LEFT JOIN "ynrealname"."bm_worker_bank" bwb ON bwb."id_number" = bw."id_number" AND bwb."is_active" = '1'
LEFT JOIN "ynrealname"."bm_team_user_relation" btur ON bw."id_number" = btur."id_number" AND btur."is_active" = '1' LEFT JOIN "ynrealname"."bm_team_user_relation" btur ON bw."id_number" = btur."id_number" AND btur."is_active" = '1'
LEFT JOIN "ynrealname"."bm_sub_team" bst ON bst."id" = btur."team_id" AND bst."is_active" = '1' LEFT JOIN "ynrealname"."bm_sub_team" bst ON bst."id" = btur."team_id" AND bst."is_active" = '1'
LEFT JOIN "ynrealname"."bm_subcontractor" bs ON bs."id" = bst."sub_id" AND bs."is_active" = '1' LEFT JOIN "ynrealname"."bm_subcontractor" bs ON bs."id" = bst."sub_id" AND bs."is_active" = '1'
LEFT JOIN "ynrealname"."bm_sub_relation" bsr ON bst."id" = bsr."value" and bsr."is_active" = '1' LEFT JOIN "ynrealname"."bm_sub_relation" bsr ON bst."id" = bsr."v" and bsr."is_active" = '1'
LEFT JOIN "ynrealname"."bm_sub_contract" bsc ON bsr."sub_contract_id" = bsc."id" and bsc."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 bsr."type" = '3'
LEFT JOIN "ynrealname"."bm_project" bp ON bsc."pro_id" = bp."id" and bp."is_active" = '1' LEFT JOIN "ynrealname"."bm_project" bp ON bsc."pro_id" = bp."id" and bp."is_active" = '1'
WHERE bw."is_active" = '1' AND bw."id_number" = #{id} WHERE bw."is_active" = '1' AND bw."id_number" = #{id}
@ -156,11 +156,11 @@
</select> </select>
<select id="getPathById" resultType="java.lang.String"> <select id="getPathById" resultType="java.lang.String">
SELECT PATH FROM "ynrealname"."bm_worker_payroll" WHERE IS_ACTIVE = '1' AND ID_NUMBER = #{id} ORDER BY "upload_time" SELECT "path" FROM "ynrealname"."bm_worker_payroll" WHERE "is_active" = '1' AND "id_number" = #{id} ORDER BY "upload_time"
</select> </select>
<select id="getIsEmptyById" resultType="java.lang.Integer"> <select id="getIsEmptyById" resultType="java.lang.Integer">
select 1 from "ynrealname"."bm_worker_bank" where ID_NUMBER = #{id} and "is_active" = '1' select 1 from "ynrealname"."bm_worker_bank" where "id_number" = #{id} and "is_active" = '1'
</select> </select>
</mapper> </mapper>

View File

@ -194,8 +194,8 @@
bar."lon",bar."lat", bar."lon",bar."lat",
bar."update_time" as updateTime, bar."update_time" as updateTime,
team."is_active" AS isActive, team."is_active" AS isActive,
COUNT( IF (bar."examine_status" = '1',TRUE,NULL)) AS workPointNumber, COUNT(CASE WHEN bar."examine_status" = '1' THEN 1 ELSE NULL END) AS workPointNumber,
COUNT( IF (bar."examine_status" = '0',TRUE,NULL) ) AS workPointExamNumber COUNT(CASE WHEN bar."examine_status" = '0' THEN 1 ELSE NULL END) AS workPointExamNumber
FROM FROM
"ynrealname"."bm_sub_team" team "ynrealname"."bm_sub_team" team
LEFT JOIN "ynrealname"."bm_subcontractor" bs ON bs."id" = team."sub_id" AND bs."is_active" = '1' LEFT JOIN "ynrealname"."bm_subcontractor" bs ON bs."id" = team."sub_id" AND bs."is_active" = '1'
@ -212,7 +212,10 @@
<if test="params.subId != null and params.subId != ''"> <if test="params.subId != null and params.subId != ''">
and team."sub_id" = #{params.subId} and team."sub_id" = #{params.subId}
</if> </if>
GROUP BY team."id" GROUP BY team."id", team."team_name", team."sub_id",
bs."sub_name", bp."id", bp."name",
bar."name", bar."lon", bar."lat", bar."update_time",
team."is_active"
<if test="offset != null and offset >= 0 and limit != null and limit >= 0"> <if test="offset != null and offset >= 0 and limit != null and limit >= 0">
OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY
</if> </if>

View File

@ -57,10 +57,11 @@
</select> </select>
<insert id="insertTrainResultData"> <insert id="insertTrainResultData">
replace into "ynrealname"."bm_worker_training_result"("id_number", "pro_id", "safety_training", "practical", "theory", update "ynrealname"."bm_worker_training_result" set
"militarize", "safety_score", "practical_score", "theory_score", "militarize_score", "is_pass") "pro_id"=#{proId},"safety_training"=#{safetyTraining},"practical"= #{practical}, "theory"=#{theory},
values (#{idNumber}, #{proId}, #{safetyTraining}, #{practical}, #{theory}, #{militarize}, "militarize"=#{militarize},"safety_score"=#{safetyScore},"practical_score"=#{practicalScore},
#{safetyScore}, #{practicalScore}, #{theoryScore}, #{militarizeScore}, #{isPass}) "theory_score"=#{theoryScore},"militarize_score"=#{militarizeScore},"is_pass"=#{isPass}
where "id_number"=#{idNumber}
</insert> </insert>
<update id="updateWorkerLight"> <update id="updateWorkerLight">