From d1acb58d7e0e4055299a896956104d85f7855171 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Tue, 9 Sep 2025 16:33:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=98=E5=B7=A5=E7=94=B3=E8=AF=B7=E5=8A=A0?= =?UTF-8?q?=E5=85=A5=E6=9C=BA=E6=9E=84=E6=B5=81=E7=A8=8B=20=E5=B0=8F?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E9=9C=80=E8=A6=81=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/EmployeesOrgLocalApi.java | 4 ++- .../orgapplyinfo/api/IOrgApplyInfoApi.java | 2 ++ .../entity/OrgAllInfoApiEntity.java | 14 +++++++++ .../service/impl/EmployeesOrgServiceImpl.java | 24 +++++++++++++-- .../orgapplyinfo/entity/OrgAllInfo.java | 7 +++++ .../mapper/OrgApplyInfoMapper.java | 2 +- .../mapper/xml/OrgApplyInfoMapper.xml | 26 +++++++++++++---- .../service/impl/OrgApplyInfoServiceImpl.java | 17 +++++++++-- .../listener/EmployeesMQListener.java | 9 ++++++ .../employess/api/EmployessApplyApi.java | 29 ++++++++++++++++--- 10 files changed, 117 insertions(+), 17 deletions(-) diff --git a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/EmployessInfo/api/EmployeesOrgLocalApi.java b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/EmployessInfo/api/EmployeesOrgLocalApi.java index b48f803..fe06146 100644 --- a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/EmployessInfo/api/EmployeesOrgLocalApi.java +++ b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/EmployessInfo/api/EmployeesOrgLocalApi.java @@ -7,6 +7,8 @@ import java.util.List; public interface EmployeesOrgLocalApi { - void apply(EmployeesApplyEntity dto); + String apply(EmployeesApplyEntity dto); List queryAll(String orgCodes); + + String canApply(String employeeId, String orgCode); } diff --git a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/orgapplyinfo/api/IOrgApplyInfoApi.java b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/orgapplyinfo/api/IOrgApplyInfoApi.java index ac9ee15..4c1bc5a 100644 --- a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/orgapplyinfo/api/IOrgApplyInfoApi.java +++ b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/orgapplyinfo/api/IOrgApplyInfoApi.java @@ -15,4 +15,6 @@ public interface IOrgApplyInfoApi { List queryAuditInfo(String openId, String id, String status); IPage queryOrgAllInfo(Integer pageNo, Integer pageSize, String orgCode, String title); + + List getOrgByOpenId(String status,String openId); } diff --git a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/orgapplyinfo/entity/OrgAllInfoApiEntity.java b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/orgapplyinfo/entity/OrgAllInfoApiEntity.java index 121b9b3..3c35fe6 100644 --- a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/orgapplyinfo/entity/OrgAllInfoApiEntity.java +++ b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/orgapplyinfo/entity/OrgAllInfoApiEntity.java @@ -171,6 +171,20 @@ public class OrgAllInfoApiEntity implements Serializable { /** 加盟时间*/ private Date franchiseTime; + + /** 审核状态 1申请中 2通过 3拒绝*/ + private String applyStatus; + /** 是否线上机构 0是1否*/ + private String izOnline; + /** 是否冻结 0是1否*/ + private String izFreeze; + /** 入职时间*/ + private String entryTime; + /**申请日期*/ + private String applyTime; + /**审核日期*/ + private String auditTime; + /** 员工信息*/ private EmployeesApiEntity employeesApiEntity; } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/employees/service/impl/EmployeesOrgServiceImpl.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/employees/service/impl/EmployeesOrgServiceImpl.java index d4ddf02..05a46d5 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/employees/service/impl/EmployeesOrgServiceImpl.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/employees/service/impl/EmployeesOrgServiceImpl.java @@ -17,14 +17,14 @@ import java.util.List; /** * @Description: 员工-机构关系中间表 * @Author: jeecg-boot - * @Date: 2025-09-05 + * @Date: 2025-09-05 * @Version: V1.0 */ @Service public class EmployeesOrgServiceImpl extends ServiceImpl implements IEmployeesOrgService, EmployeesOrgLocalApi { @Override - public void apply(EmployeesApplyEntity dto) { + public String apply(EmployeesApplyEntity dto) { EmployeesOrg employeesOrg = new EmployeesOrg(); employeesOrg.setOpenId(dto.getOpenId()); employeesOrg.setEmployeesId(dto.getEmployeeId()); @@ -33,14 +33,32 @@ public class EmployeesOrgServiceImpl extends ServiceImpl queryAll(String orgCodes) { QueryWrapper qw = new QueryWrapper<>(); - qw.in("org_code",orgCodes.split(",")); + qw.in("org_code", orgCodes.split(",")); List list = baseMapper.selectList(qw); List result = BeanUtil.copyToList(list, EmployeesOrgApiEntity.class); return result; } + + @Override + public String canApply(String employeeId, String orgCode) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("employees_id", employeeId); + qw.eq("org_code",orgCode); + EmployeesOrg employeesOrg = baseMapper.selectOne(qw); + if(employeesOrg != null ){ + if("1".equals(employeesOrg.getStatus())){ + return "申请已提交"; + } + if("2".equals(employeesOrg.getStatus())){ + return "已加入机构,请勿重复提交"; + } + } + return ""; + } } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/entity/OrgAllInfo.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/entity/OrgAllInfo.java index 6015bad..4e93e57 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/entity/OrgAllInfo.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/entity/OrgAllInfo.java @@ -170,10 +170,17 @@ public class OrgAllInfo implements Serializable { private String contractNote; /** 加盟时间*/ private Date franchiseTime; + + /** 审核状态 1申请中 2通过 3拒绝*/ + private String applyStatus; /** 是否线上机构 0是1否*/ private String izOnline; /** 是否冻结 0是1否*/ private String izFreeze; /** 入职时间*/ private String entryTime; + /**申请日期*/ + private String applyTime; + /**审核日期*/ + private String auditTime; } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/mapper/OrgApplyInfoMapper.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/mapper/OrgApplyInfoMapper.java index 1f58e09..ee01e1e 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/mapper/OrgApplyInfoMapper.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/mapper/OrgApplyInfoMapper.java @@ -20,5 +20,5 @@ public interface OrgApplyInfoMapper extends BaseMapper { IPage queryOrgInfo(@Param("page") IPage page, @Param("orgCode") String orgCode, @Param("title") String title); - IPage getOrgByOpenId(IPage page, @Param("openId") String openId); + IPage getOrgByOpenId(IPage page, @Param("openId") String openId, @Param("status") String status); } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/mapper/xml/OrgApplyInfoMapper.xml b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/mapper/xml/OrgApplyInfoMapper.xml index 7926300..3a10d02 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/mapper/xml/OrgApplyInfoMapper.xml +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/mapper/xml/OrgApplyInfoMapper.xml @@ -49,8 +49,11 @@ o.status = '2' and d.del_flag = '0' - - AND d.org_code = #{orgCode} + + AND d.org_code IN + + #{item} + AND d.depart_name LIKE CONCAT('%', #{title}, '%') @@ -77,18 +80,31 @@ d.iz_elder_tag_main, d.media_url, o.*, + eo.status AS applyStatus, eo.iz_online, eo.iz_freeze, - eo.entry_time + eo.entry_time, + eo.create_time AS apply_time, + eo.update_time AS audit_time from sys_depart d inner join nu_org_apply_info o on d.id = o.pk_id inner join nu_biz_employees_org eo on d.org_code = eo.org_code o.status = '2' and d.del_flag = '0' - and eo.status = '2' AND eo.open_id = #{openId} + + and eo.status = #{status} + - order by (d.org_code + 0) asc + + + ORDER BY (d.org_code + 0) ASC + + + ORDER BY eo.create_time DESC + + + diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/service/impl/OrgApplyInfoServiceImpl.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/service/impl/OrgApplyInfoServiceImpl.java index 2c5cf02..7d22f84 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/service/impl/OrgApplyInfoServiceImpl.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/service/impl/OrgApplyInfoServiceImpl.java @@ -341,10 +341,12 @@ public class OrgApplyInfoServiceImpl extends ServiceImpl queryOrgInfo(IPage page, String orgCode, String title) { return baseMapper.queryOrgInfo(page, orgCode, title); } + @Override - public IPage getOrgByOpenId(IPage page, String openId) { - return baseMapper.getOrgByOpenId(page, openId); + public IPage getOrgByOpenId(IPage page, String openId) { + return baseMapper.getOrgByOpenId(page, openId,"2"); } + @Override public IPage queryOrgAllInfo(Integer pageNo, Integer pageSize, String orgCode, String title) { IPage page = new Page<>(pageNo, pageSize); @@ -356,7 +358,7 @@ public class OrgApplyInfoServiceImpl extends ServiceImpl records = orgAllInfoIPage.getRecords(); - if(records == null || records.size() <= 0){ + if (records == null || records.size() <= 0) { List l_ = List.of(); resultPage.setRecords(l_); return resultPage; @@ -364,4 +366,13 @@ public class OrgApplyInfoServiceImpl extends ServiceImpl getOrgByOpenId(String status,String openId) { + IPage page = new Page<>(1, -1); + IPage r_ = baseMapper.getOrgByOpenId(page, openId,status); + List records = r_.getRecords(); + List result = BeanUtil.copyToList(records, OrgAllInfoApiEntity.class); + return result; + } } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/employees/listener/EmployeesMQListener.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/employees/listener/EmployeesMQListener.java index c14a4ef..314c8e5 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/employees/listener/EmployeesMQListener.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/employees/listener/EmployeesMQListener.java @@ -3,7 +3,9 @@ package com.nu.mq.employees.listener; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.nu.dto.EmployeesStatusMQDto; import com.nu.modules.employees.entity.EmployeesOrg; +import com.nu.modules.employees.entity.NuEmployeesAdvisoryInfo; import com.nu.modules.employees.service.IEmployeesOrgService; +import com.nu.modules.employees.service.INuEmployeesAdvisoryInfoService; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.ExchangeTypes; import org.springframework.amqp.rabbit.annotation.Exchange; @@ -19,6 +21,8 @@ public class EmployeesMQListener { @Autowired private IEmployeesOrgService employeesOrgService; + @Autowired + private INuEmployeesAdvisoryInfoService employeesAdvisoryInfoService; /** * 员工-机构关系状态调整 @@ -34,6 +38,11 @@ public class EmployeesMQListener { employeesOrg.setAuditContent(dto.getAuditContent()); if("2".equals(dto.getAuditStatus())){ employeesOrg.setEntryTime(dto.getEntryTime());//审批通过的话将入职时间设置进去 + //修改员工注册表的入驻状态 + NuEmployeesAdvisoryInfo employeesAd = new NuEmployeesAdvisoryInfo(); + employeesAd.setId(dto.getEmployeeId()); + employeesAd.setIzEntry("0"); + employeesAdvisoryInfoService.updateById(employeesAd); } UpdateWrapper uw = new UpdateWrapper<>(); uw.eq("employees_id",dto.getEmployeeId()); diff --git a/nursing-unit-api/src/main/java/com/nu/modules/wechat/employess/api/EmployessApplyApi.java b/nursing-unit-api/src/main/java/com/nu/modules/wechat/employess/api/EmployessApplyApi.java index 08f0fd9..fd7d96c 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/wechat/employess/api/EmployessApplyApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/wechat/employess/api/EmployessApplyApi.java @@ -44,11 +44,16 @@ public class EmployessApplyApi { if (StringUtils.isBlank(dto.getOrgCode())) { return Result.error("申请失败"); } + String msg = employeesOrgLocalApi.canApply(dto.getEmployeeId(),dto.getOrgCode()); + if (StringUtils.isNotBlank(msg)) { + return Result.error(msg); + } - employeesOrgLocalApi.apply(dto); + String id = employeesOrgLocalApi.apply(dto); EmployeesApplyMQDto mqdto = new EmployeesApplyMQDto(); - BeanUtils.copyProperties(dto,mqdto); + BeanUtils.copyProperties(dto, mqdto); + mqdto.setId(id); rabbitMQUtil.sendToExchange("hldy.employees", dto.getOrgCode() + ".employees.apply", mqdto); return Result.ok(); @@ -75,11 +80,14 @@ public class EmployessApplyApi { String orgCodes = ""; for (int i = 0; i < sourceRecords.size(); i++) { indexMap.put(sourceRecords.get(i).getOrgCode(), i); - orgCodes += sourceRecords.get(i).getOrgCode(); + orgCodes += sourceRecords.get(i).getOrgCode() + ","; + } + if (orgCodes.endsWith(",")) { + orgCodes.substring(0, orgCodes.length() - 2); } List employeesOrgList = employeesOrgLocalApi.queryAll(orgCodes); if (employeesOrgList != null && employeesOrgList.size() > 0) { - employeesOrgList.stream().forEach( eo -> { + employeesOrgList.stream().forEach(eo -> { EmployeesApiEntity en = new EmployeesApiEntity(); en.setStatus(eo.getStatus()); en.setAuditContent(eo.getAuditContent()); @@ -91,4 +99,17 @@ public class EmployessApplyApi { } return Result.OK(result); } + + /** + * 获取员工-机构关系列表 + * + * @param openId 员工微信id + * @param status 审核状态 + * @return + */ + @GetMapping(value = "/getEmployeesOrgRela") + public Result> getEmployeesOrgRela(@RequestParam(value = "status", required = false) String status, @RequestParam(value = "openId") String openId) { + List result = orgApplyInfoApi.getOrgByOpenId(status, openId); + return Result.OK(result); + } }