Browse Source

更改

master
ligaode 3 months ago
parent
commit
abb552cd6d
  1. 16
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/DeptUserVo.java
  2. 4
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java
  3. 21
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java
  4. 6
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml
  5. 26
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml
  6. 7
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.java
  7. 57
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml
  8. 5
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java
  9. 5
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java
  10. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/common/OaCommonFeign.java
  11. 5
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/oa/common/OaCommonRest.java
  12. 26
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/oa/common/OaCommonService.java
  13. 39
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdExpatriatesApplyRest.java
  14. 29
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyDetailVo.java
  15. 2
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyDto.java
  16. 4
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyMapper.java
  17. 53
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyMapper.xml
  18. 54
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyQuery.java
  19. 138
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyService.java
  20. 70
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyVo.java
  21. 36
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailDto.java
  22. 7
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailMapper.java
  23. 15
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailMapper.xml
  24. 37
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailService.java
  25. 36
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailVo.java
  26. 41
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesListDetailVo.java

16
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/DeptUserVo.java

@ -0,0 +1,16 @@
package com.yxt.anrui.portal.api.sysuser;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/16
**/
@Data
public class DeptUserVo {
private String sid;
private String name;
}

4
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java

@ -239,6 +239,10 @@ public interface SysUserFeign {
@GetMapping(value = "getUserByDeptSid") @GetMapping(value = "getUserByDeptSid")
ResultBean<List<Map<String, String>>> getUserByDeptSid(@RequestParam("deptSid") String deptSid); ResultBean<List<Map<String, String>>> getUserByDeptSid(@RequestParam("deptSid") String deptSid);
@ApiOperation(value = "获取本部门下人员")
@GetMapping(value = "getAllPeo")
ResultBean<List<DeptUserVo>> getAllPeo(@RequestParam("deptSid") String deptSid);
@ApiOperation(value = "根据用户sid获取用户id") @ApiOperation(value = "根据用户sid获取用户id")
@PostMapping(value = "selectIdBySid") @PostMapping(value = "selectIdBySid")
ResultBean<String> selectIdBySid(@RequestBody List<String> stringList); ResultBean<String> selectIdBySid(@RequestBody List<String> stringList);

21
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java

@ -28,25 +28,25 @@ import java.util.Map;
public class SysUserFeignFallback implements SysUserFeign { public class SysUserFeignFallback implements SysUserFeign {
@Override @Override
public ResultBean<PagerVo<SysUserVo>> listPage(PagerQuery<SysUserQuery> pq){ public ResultBean<PagerVo<SysUserVo>> listPage(PagerQuery<SysUserQuery> pq) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui_portal/sysuser/listPage无法访问"); return rb.setMsg("接口anrui_portal/sysuser/listPage无法访问");
} }
@Override @Override
public ResultBean<List<SysUserVo>> listAll(SysUserQuery query){ public ResultBean<List<SysUserVo>> listAll(SysUserQuery query) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui_portal/sysuser/listAll无法访问"); return rb.setMsg("接口anrui_portal/sysuser/listAll无法访问");
} }
@Override @Override
public ResultBean<List<SysUserVo>> list(){ public ResultBean<List<SysUserVo>> list() {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui_portal/sysuser/list无法访问"); return rb.setMsg("接口anrui_portal/sysuser/list无法访问");
} }
@Override @Override
public ResultBean save(SysUserDto dto){ public ResultBean save(SysUserDto dto) {
return ResultBean.fireFail().setMsg("接口anrui_portal/sysuser/save无法访问"); return ResultBean.fireFail().setMsg("接口anrui_portal/sysuser/save无法访问");
} }
@ -66,7 +66,7 @@ public class SysUserFeignFallback implements SysUserFeign {
} }
@Override @Override
public ResultBean update(SysUserDto dto,String sid){ public ResultBean update(SysUserDto dto, String sid) {
return ResultBean.fireFail().setMsg("接口anrui_portal/sysuser/update无法访问"); return ResultBean.fireFail().setMsg("接口anrui_portal/sysuser/update无法访问");
} }
@ -76,7 +76,7 @@ public class SysUserFeignFallback implements SysUserFeign {
} }
@Override @Override
public ResultBean del(String ids){ public ResultBean del(String ids) {
return ResultBean.fireFail().setMsg("接口anrui_portal/sysuser/del无法访问"); return ResultBean.fireFail().setMsg("接口anrui_portal/sysuser/del无法访问");
} }
@ -93,7 +93,7 @@ public class SysUserFeignFallback implements SysUserFeign {
} }
@Override @Override
public ResultBean<SysUserVo> fetch(String id){ public ResultBean<SysUserVo> fetch(String id) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui_portal/sysuser/fetch无法访问"); return rb.setMsg("接口anrui_portal/sysuser/fetch无法访问");
} }
@ -221,13 +221,18 @@ public class SysUserFeignFallback implements SysUserFeign {
return null; return null;
} }
@Override
public ResultBean<List<DeptUserVo>> getAllPeo(String deptSid) {
return null;
}
@Override @Override
public ResultBean<String> selectIdBySid(List<String> stringList) { public ResultBean<String> selectIdBySid(List<String> stringList) {
return null; return null;
} }
@Override @Override
public ResultBean<List<SysUserListVo>> selectSysUserList(String userSid,String orgPath) { public ResultBean<List<SysUserListVo>> selectSysUserList(String userSid, String orgPath) {
return null; return null;
} }

6
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml

@ -321,7 +321,7 @@
SELECT DISTINCT ss.sid, ss.name SELECT DISTINCT ss.sid, ss.name
FROM sys_staffinfo ss FROM sys_staffinfo ss
LEFT JOIN sys_staff_org sso LEFT JOIN sys_staff_org sso
ON ss.`sid` = sso.`staffSid` ON ss.sid = sso.staffSid
${ew.customSqlSegment} ${ew.customSqlSegment}
</select> </select>
@ -330,7 +330,7 @@
ss.name ss.name
FROM sys_staffinfo ss FROM sys_staffinfo ss
LEFT JOIN sys_staff_org sso LEFT JOIN sys_staff_org sso
ON ss.`sid` = sso.`staffSid` ON ss.sid = sso.staffSid
${ew.customSqlSegment} ${ew.customSqlSegment}
</select> </select>
@ -398,7 +398,7 @@
<select id="getStaffNameByRoleCode" resultType="com.yxt.anrui.portal.api.sysstaffinfo.StaffByRole"> <select id="getStaffNameByRoleCode" resultType="com.yxt.anrui.portal.api.sysstaffinfo.StaffByRole">
SELECT SELECT
u.sid as managerSid, u.sid as managerSid,
sf.`name` as manager sf.name as manager
FROM FROM
sys_user_role AS ur sys_user_role AS ur
LEFT JOIN sys_role AS r ON ur.roleSid = r.sid LEFT JOIN sys_role AS r ON ur.roleSid = r.sid

26
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml

@ -19,10 +19,10 @@
</where> </where>
</select> </select>
<select id="staffinfoList" resultType="com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo"> <select id="staffinfoList" resultType="com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo">
SELECT DISTINCT ss.`name` staffName, ss.`mobile`, ss.sid staffSid SELECT DISTINCT ss.name staffName, ss.mobile, ss.sid staffSid
FROM `sys_staff_org` sso FROM sys_staff_org sso
LEFT JOIN `sys_staffinfo` ss ON sso.`staffSid` = ss.`sid` LEFT JOIN sys_staffinfo ss ON sso.staffSid = ss.sid
LEFT JOIN `sys_organization` so ON so.`sid` = sso.`orgSid` LEFT JOIN sys_organization so ON so.sid = sso.orgSid
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
@ -133,16 +133,16 @@
<select id="selAllByOrgPath" resultType="com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgByUserVo"> <select id="selAllByOrgPath" resultType="com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgByUserVo">
SELECT SELECT
su.`sid`, su.sid,
ss.`name` ss.name
FROM FROM
sys_staff_org sso sys_staff_org sso
LEFT JOIN sys_user su LEFT JOIN sys_user su
ON sso.`staffSid` = su.`staffSid` ON sso.staffSid = su.staffSid
LEFT JOIN sys_user_role sur LEFT JOIN sys_user_role sur
ON su.`sid` = sur.`userSid` ON su.sid = sur.userSid
LEFT JOIN sys_staffinfo ss LEFT JOIN sys_staffinfo ss
ON sso.`staffSid` = ss.`sid` ON sso.staffSid = ss.sid
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
@ -150,13 +150,13 @@
<select id="selAllByOrgSidPath" resultType="com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgByUserVo"> <select id="selAllByOrgSidPath" resultType="com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgByUserVo">
SELECT su.sid, SELECT su.sid,
ss.`name` ss.name
FROM sys_staff_org so FROM sys_staff_org so
LEFT JOIN sys_user su LEFT JOIN sys_user su
ON so.`staffSid` = su.`staffSid` ON so.staffSid = su.staffSid
LEFT JOIN sys_staffinfo ss LEFT JOIN sys_staffinfo ss
ON so.`staffSid` = ss.`sid` ON so.staffSid = ss.sid
WHERE so.`orgSidPath` = #{orgSidPath} WHERE so.orgSidPath = #{orgSidPath}
</select> </select>
<select id="selectOrgSidPath" resultType="com.yxt.anrui.portal.api.sysorganization.SysOrganization"> <select id="selectOrgSidPath" resultType="com.yxt.anrui.portal.api.sysorganization.SysOrganization">

7
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.java

@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoVo; import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoVo;
import com.yxt.anrui.portal.api.sysuser.SysMenuRoleVoList; import com.yxt.anrui.portal.api.sysuser.*;
import com.yxt.anrui.portal.api.sysuser.SysUser;
import com.yxt.anrui.portal.api.sysuser.SysUserInfoVo;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo; import com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo;
import com.yxt.anrui.portal.api.sysuser.wx.WxHomePageVo; import com.yxt.anrui.portal.api.sysuser.wx.WxHomePageVo;
import com.yxt.anrui.portal.api.sysuser.wx.WxMySysUserInfoVo; import com.yxt.anrui.portal.api.sysuser.wx.WxMySysUserInfoVo;
@ -208,4 +205,6 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
SysUser selectByMobileWx(String userName); SysUser selectByMobileWx(String userName);
List<Map<String, String>> getUserByDeptSid(String deptSid); List<Map<String, String>> getUserByDeptSid(String deptSid);
List<DeptUserVo> getAllPeo(String deptSid);
} }

57
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml

@ -269,11 +269,11 @@
<select id="getUsersByRoleSid" resultType="com.yxt.anrui.portal.api.sysuser.SysUserVo"> <select id="getUsersByRoleSid" resultType="com.yxt.anrui.portal.api.sysuser.SysUserVo">
SELECT su.sid, ss.name, sso.orgNamePath departmentName SELECT su.sid, ss.name, sso.orgNamePath departmentName
FROM `sys_user` su FROM sys_user su
LEFT JOIN `sys_staffinfo` ss ON su.staffSid = ss.sid LEFT JOIN sys_staffinfo ss ON su.staffSid = ss.sid
LEFT JOIN `sys_staff_org` sso ON sso.staffSid = ss.sid LEFT JOIN sys_staff_org sso ON sso.staffSid = ss.sid
LEFT JOIN `sys_user_role` sur ON sur.userSid = su.sid LEFT JOIN sys_user_role sur ON sur.userSid = su.sid
LEFT JOIN `sys_role` sr ON sr.sid = sur.roleSid LEFT JOIN sys_role sr ON sr.sid = sur.roleSid
WHERE sr.sid = #{roleSid} WHERE sr.sid = #{roleSid}
</select> </select>
@ -306,15 +306,15 @@
sp.name as postName sp.name as postName
FROM sys_user su FROM sys_user su
LEFT JOIN sys_staffinfo st LEFT JOIN sys_staffinfo st
ON su.`staffSid` = st.`sid` ON su.staffSid = st.sid
LEFT JOIN sys_staff_org sso LEFT JOIN sys_staff_org sso
ON st.`sid` = sso.`staffSid` ON st.sid = sso.staffSid
LEFT JOIN sys_staff_post ssp LEFT JOIN sys_staff_post ssp
ON st.sid = ssp.`staffSid` ON st.sid = ssp.staffSid
LEFT JOIN sys_post sp LEFT JOIN sys_post sp
ON ssp.`postSid` = sp.`sid` ON ssp.postSid = sp.sid
WHERE su.sid != #{userSid} WHERE su.sid != #{userSid}
AND sso.`orgSidPath` LIKE concat('%' AND sso.orgSidPath LIKE concat('%'
, #{orgSid} , #{orgSid}
, '%') , '%')
</select> </select>
@ -366,7 +366,7 @@
where sr.roleSid = #{roleSid} where sr.roleSid = #{roleSid}
and find_in_set(#{levelOrgSid}, replace(so.orgSidPath, '/', ',')) and find_in_set(#{levelOrgSid}, replace(so.orgSidPath, '/', ','))
and si.personTypeKey != '01' and si.personTypeKey != '01'
AND so.`manageType` = 3 AND so.manageType = 3
and su.sid in and su.sid in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")"> <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item} #{item}
@ -382,7 +382,7 @@
where sr.roleSid = #{roleSid} where sr.roleSid = #{roleSid}
and find_in_set(#{levelOrgSid}, replace(so.orgSidPath, '/', ',')) and find_in_set(#{levelOrgSid}, replace(so.orgSidPath, '/', ','))
and si.personTypeKey != '01' and si.personTypeKey != '01'
AND so.`manageType` = 3 AND so.manageType = 3
and su.sid in and su.sid in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")"> <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item} #{item}
@ -398,10 +398,10 @@
</update> </update>
<select id="fetchByUserNameAndUserPhone" resultType="java.lang.String"> <select id="fetchByUserNameAndUserPhone" resultType="java.lang.String">
SELECT su.`sid` SELECT su.sid
FROM sys_user su FROM sys_user su
LEFT JOIN sys_staffinfo ss LEFT JOIN sys_staffinfo ss
ON su.`staffSid` = ss.`sid` ON su.staffSid = ss.sid
WHERE ss.name = #{userName} WHERE ss.name = #{userName}
AND su.mobile = #{userPhone} AND su.mobile = #{userPhone}
</select> </select>
@ -448,20 +448,37 @@
FROM FROM
sys_user su sys_user su
LEFT JOIN sys_staffinfo st LEFT JOIN sys_staffinfo st
ON su.`staffSid` = st.`sid` ON su.staffSid = st.sid
LEFT JOIN sys_staff_org sso LEFT JOIN sys_staff_org sso
ON st.`sid` = sso.`staffSid` ON st.sid = sso.staffSid
LEFT JOIN sys_staff_post ssp LEFT JOIN sys_staff_post ssp
ON st.sid = ssp.`staffSid` ON st.sid = ssp.staffSid
LEFT JOIN sys_post sp LEFT JOIN sys_post sp
ON ssp.`postSid` = sp.`sid` ON ssp.postSid = sp.sid
LEFT JOIN sys_user_role sur LEFT JOIN sys_user_role sur
ON sur.`userSid` = su.`sid` ON sur.userSid = su.sid
WHERE sso.`orgSidPath` LIKE CONCAT( WHERE sso.orgSidPath LIKE CONCAT(
'%', '%',
#{deptSid}, #{deptSid},
'%' '%'
) )
AND sur.roleSid = 'de8bfb73-8a08-46bc-beab-f981bf8c8de8' AND sur.roleSid = 'de8bfb73-8a08-46bc-beab-f981bf8c8de8'
</select> </select>
<select id="getAllPeo" resultType="com.yxt.anrui.portal.api.sysuser.DeptUserVo">
SELECT
su.sid,
st.name
FROM
sys_user su
LEFT JOIN sys_staffinfo st
ON su.staffSid = st.sid
LEFT JOIN sys_staff_org sso
ON st.sid = sso.staffSid
WHERE sso.orgSidPath LIKE CONCAT(
'%',
#{deptSid},
'%'
)
</select>
</mapper> </mapper>

5
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java

@ -664,6 +664,11 @@ public class SysUserRest implements SysUserFeign {
return sysUserService.getUserByDeptSid(deptSid); return sysUserService.getUserByDeptSid(deptSid);
} }
@Override
public ResultBean<List<DeptUserVo>> getAllPeo(String deptSid) {
return sysUserService.getAllPeo(deptSid);
}
@Override @Override
public ResultBean<String> selectIdBySid(List<String> stringList) { public ResultBean<String> selectIdBySid(List<String> stringList) {
return sysUserService.selectIdBySid(stringList); return sysUserService.selectIdBySid(stringList);

5
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java

@ -1718,4 +1718,9 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
} }
public ResultBean<List<DeptUserVo>> getAllPeo(String deptSid) {
ResultBean rb = ResultBean.fireFail();
List<DeptUserVo> allPeo = baseMapper.getAllPeo(deptSid);
return rb.success().setData(allPeo);
}
} }

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/common/OaCommonFeign.java

@ -29,5 +29,7 @@ public interface OaCommonFeign {
@GetMapping("/getAllDeptByPath") @GetMapping("/getAllDeptByPath")
ResultBean<List<OaCommonDictVo>> getAllDeptByPath(@RequestParam("orgPath") String orgPath); ResultBean<List<OaCommonDictVo>> getAllDeptByPath(@RequestParam("orgPath") String orgPath);
@ApiOperation("查询部门人员")
@GetMapping("/getAllPeoByDept")
ResultBean<List<OaCommonDictVo>> getAllPeoByDept(@RequestParam("deptSid") String deptSid);
} }

5
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/oa/common/OaCommonRest.java

@ -30,4 +30,9 @@ public class OaCommonRest implements OaCommonFeign {
public ResultBean<List<OaCommonDictVo>> getAllDeptByPath(String orgPath) { public ResultBean<List<OaCommonDictVo>> getAllDeptByPath(String orgPath) {
return oaCommonService.getAllDeptByPath(orgPath); return oaCommonService.getAllDeptByPath(orgPath);
} }
@Override
public ResultBean<List<OaCommonDictVo>> getAllPeoByDept(String deptSid) {
return oaCommonService.getAllPeoByDept(deptSid);
}
} }

26
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/oa/common/OaCommonService.java

@ -5,16 +5,15 @@ import com.yxt.anrui.portal.api.sysorganization.OrgDeptVo;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.syspost.SysPostAllVo; import com.yxt.anrui.portal.api.syspost.SysPostAllVo;
import com.yxt.anrui.portal.api.syspost.SysPostFeign; import com.yxt.anrui.portal.api.syspost.SysPostFeign;
import com.yxt.anrui.portal.api.sysuser.DeptUserVo;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.terminal.api.base.common.PublicModelVo; import com.yxt.anrui.terminal.api.base.common.PublicModelVo;
import com.yxt.anrui.terminal.api.oa.common.OaCommonDictVo; import com.yxt.anrui.terminal.api.oa.common.OaCommonDictVo;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -29,6 +28,8 @@ public class OaCommonService {
private SysPostFeign sysPostFeign; private SysPostFeign sysPostFeign;
@Autowired @Autowired
private SysOrganizationFeign sysOrganizationFeign; private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private SysUserFeign sysUserFeign;
public ResultBean<List<OaCommonDictVo>> getAllPost(String name) { public ResultBean<List<OaCommonDictVo>> getAllPost(String name) {
ResultBean<List<OaCommonDictVo>> rb = ResultBean.fireFail(); ResultBean<List<OaCommonDictVo>> rb = ResultBean.fireFail();
@ -63,4 +64,21 @@ public class OaCommonService {
.collect(Collectors.toList()); .collect(Collectors.toList());
return rb.success().setData(voList); return rb.success().setData(voList);
} }
public ResultBean<List<OaCommonDictVo>> getAllPeoByDept(String deptSid) {
ResultBean<List<OaCommonDictVo>> rb = ResultBean.fireFail();
ResultBean<List<DeptUserVo>> allPeo = sysUserFeign.getAllPeo(deptSid);
List<OaCommonDictVo> voList = Optional.ofNullable(allPeo.getData())
.orElse(Collections.emptyList()) // 如果为 null,则返回一个空列表
.stream()
.map(peo -> {
OaCommonDictVo oaCommonDictVo = new OaCommonDictVo();
// 映射属性:手动指定属性名称和类型不一致时的赋值方式
oaCommonDictVo.setId(peo.getSid());
oaCommonDictVo.setDictValue(peo.getName());
return oaCommonDictVo;
})
.collect(Collectors.toList());
return rb.success().setData(voList);
}
} }

39
yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdExpatriatesApplyRest.java

@ -26,6 +26,8 @@
package com.yxt.anrui.oa.api; package com.yxt.anrui.oa.api;
import com.yxt.anrui.oa.biz.adexpatriatesapply.*; import com.yxt.anrui.oa.biz.adexpatriatesapply.*;
import com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyDetailVo;
import com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyVo;
import com.yxt.anrui.oa.biz.oaform.flowable.CompleteDto; import com.yxt.anrui.oa.biz.oaform.flowable.CompleteDto;
import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery; import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery;
import com.yxt.anrui.oa.biz.oaform.flowable.NodeVo; import com.yxt.anrui.oa.biz.oaform.flowable.NodeVo;
@ -51,12 +53,23 @@ public class AdExpatriatesApplyRest {
@Autowired @Autowired
private AdExpatriatesApplyService adExpatriatesApplyService; private AdExpatriatesApplyService adExpatriatesApplyService;
@ApiOperation("根据条件分页查询数据的列表") @ApiOperation("初始化(新增或修改)")
@PostMapping("/listPage") @GetMapping({"/getInit", "/getInit/{sid}"})
public ResultBean<PagerVo<AdExpatriatesApplyVo>> listPage(@RequestBody PagerQuery<AdExpatriatesApplyQuery> pq) { public ResultBean<AdExpatriatesApplyVo> getInit(
ResultBean rb = ResultBean.fireFail(); @PathVariable(value = "sid", required = false) String sid,
PagerVo<AdExpatriatesApplyVo> pv = adExpatriatesApplyService.listPageVo(pq); @RequestParam(value = "userSid", required = false) String userSid,
return rb.success().setData(pv); @RequestParam(value = "orgPath", required = false) String orgPath) {
ResultBean<AdExpatriatesApplyVo> rb = ResultBean.fireFail();
if (sid == null || sid.isEmpty()) {
// 执行新增初始化
if (userSid == null || orgPath == null) {
return rb.setMsg("userSid和orgPath不能为空");
}
return adExpatriatesApplyService.getSaveInit(userSid, orgPath);
} else {
// 执行修改初始化
return adExpatriatesApplyService.getUpdateInit(sid);
}
} }
@ApiOperation("新增或修改") @ApiOperation("新增或修改")
@ -65,6 +78,13 @@ public class AdExpatriatesApplyRest {
return adExpatriatesApplyService.saveOrUpdateDto(dto); return adExpatriatesApplyService.saveOrUpdateDto(dto);
} }
@ApiOperation("详情")
@GetMapping("/details/{sid}")
ResultBean<AdExpatriatesApplyDetailVo> details(@PathVariable("sid") String sid
, @RequestParam(value = "application", required = false) String application) {
return adExpatriatesApplyService.details(sid,application);
}
@ApiOperation("根据sid批量删除") @ApiOperation("根据sid批量删除")
@DeleteMapping("/delBySids") @DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids) { public ResultBean delBySids(@RequestBody String[] sids) {
@ -73,13 +93,6 @@ public class AdExpatriatesApplyRest {
return rb.success(); return rb.success();
} }
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<AdExpatriatesApplyVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail();
AdExpatriatesApplyVo vo = adExpatriatesApplyService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@ApiOperation("提交审批流程") @ApiOperation("提交审批流程")
@PostMapping("/submit") @PostMapping("/submit")

29
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyDetailVo.java

@ -0,0 +1,29 @@
package com.yxt.anrui.oa.biz.adexpatriatesapply;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesListDetailVo;
import com.yxt.anrui.oa.biz.hrhiredetails.HrHireListDetailVo;
import com.yxt.anrui.oa.biz.oaform.OaFormCommonVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/21
**/
@Data
public class AdExpatriatesApplyDetailVo extends OaFormCommonVo {
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("图片")
private List<String> files = new ArrayList<>();
@ApiModelProperty("附件")
private List<String> appes = new ArrayList<>();
private List<AdExpatriatesListDetailVo> list = new ArrayList<>();
}

2
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyDto.java

@ -67,5 +67,5 @@ public class AdExpatriatesApplyDto extends OaFormDto {
@ApiModelProperty("文件") @ApiModelProperty("文件")
private List<String> appes = new ArrayList<>(); private List<String> appes = new ArrayList<>();
private List<AdExpatriatesDetailDto> adExpatriatesDetailList = new ArrayList<>(); private List<AdExpatriatesDetailDto> list = new ArrayList<>();
} }

4
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyMapper.java

@ -35,9 +35,7 @@ import org.apache.ibatis.annotations.Param;
@Mapper @Mapper
public interface AdExpatriatesApplyMapper extends BaseMapper<AdExpatriatesApply> { public interface AdExpatriatesApplyMapper extends BaseMapper<AdExpatriatesApply> {
IPage<AdExpatriatesApplyVo> selectPageVo(IPage<AdExpatriatesApply> page, @Param(Constants.WRAPPER) Wrapper<AdExpatriatesApply> qw);
int selectBySid(String join); int selectBySid(String join);
AdExpatriatesApplyVo fetchDetailsVoBySid(String sid); AdExpatriatesApplyDetailVo details(String sid);
} }

53
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyMapper.xml

@ -3,32 +3,6 @@
<mapper namespace="com.yxt.anrui.oa.biz.adexpatriatesapply.AdExpatriatesApplyMapper"> <mapper namespace="com.yxt.anrui.oa.biz.adexpatriatesapply.AdExpatriatesApplyMapper">
<!-- <where> ${ew.sqlSegment} </where>--> <!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} --> <!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.oa.biz.adexpatriatesapply.AdExpatriatesApplyVo">
SELECT ae.sid,
ae.remarks,
ae.formSid,
ofm.billNo,
ofm.createByName,
ofm.deptSid,
ofm.deptName,
ofm.useOrgSid,
ofm.useOrgName,
DATE_FORMAT(ofm.finishTime) as finishTime,
ofm.procInstId,
ofm.procDefId,
ofm.taskId,
ofm.nodeId,
ofm.nodeState,
ofm.formType,
ofm.title,
ofm.createOrgSid,
ofm.createOrgName
FROM ad_expatriates_apply ae
left join oa_form ofm on ae.formSid = ofm.sid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectBySid" resultType="int"> <select id="selectBySid" resultType="int">
SELECT COUNT(*) SELECT COUNT(*)
@ -38,28 +12,9 @@
and find_in_set(oa.sid, #{list}) and find_in_set(oa.sid, #{list})
</select> </select>
<select id="fetchDetailsVoBySid" resultType="com.yxt.anrui.oa.biz.adexpatriatesapply.AdExpatriatesApplyVo"> <select id="details" resultType="com.yxt.anrui.oa.biz.adexpatriatesapply.AdExpatriatesApplyDetailVo">
SELECT ae.sid, select remarks, sid
ae.remarks, from ad_expatriates_apply
ae.formSid, where sid = #{sid}
ofm.billNo,
ofm.createByName,
ofm.deptSid,
ofm.deptName,
ofm.useOrgSid,
ofm.useOrgName,
DATE_FORMAT(ofm.finishTime) as finishTime,
ofm.procInstId,
ofm.procDefId,
ofm.taskId,
ofm.nodeId,
ofm.nodeState,
ofm.formType,
ofm.title,
ofm.createOrgSid,
ofm.createOrgName
FROM ad_expatriates_apply ae
left join oa_form ofm on ae.formSid = ofm.sid
where ae.sid = #{sid}
</select> </select>
</mapper> </mapper>

54
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyQuery.java

@ -1,54 +0,0 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adexpatriatesapply;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: oa(驻外人员认定申请) <br/>
* File: AdExpatriatesApplyQuery.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesapply.AdExpatriatesApplyQuery <br/>
* Description: 驻外人员认定申请 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-16 15:22:53 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "驻外人员认定申请 查询条件", description = "驻外人员认定申请 查询条件")
public class AdExpatriatesApplyQuery implements Query {
@ApiModelProperty("单据编号")
private String billNo;
}

138
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyService.java

@ -26,33 +26,28 @@
package com.yxt.anrui.oa.biz.adexpatriatesapply; package com.yxt.anrui.oa.biz.adexpatriatesapply;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailDto; import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailDto;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailService; import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailService;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailVo; import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailVo;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesListDetailVo;
import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService; import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService;
import com.yxt.anrui.oa.biz.oaform.FormCommon;
import com.yxt.anrui.oa.biz.oaform.OaForm;
import com.yxt.anrui.oa.biz.oaform.OaFormRuleEnum; import com.yxt.anrui.oa.biz.oaform.OaFormRuleEnum;
import com.yxt.anrui.oa.biz.oaform.OaFormService; import com.yxt.anrui.oa.biz.oaform.OaFormService;
import com.yxt.anrui.oa.biz.oaform.flowable.*; import com.yxt.anrui.oa.biz.oaform.flowable.*;
import com.yxt.anrui.oa.biz.oamendapply.OaMendApplyDto;
import com.yxt.anrui.oa.biz.oamendapply.OaMendApplyVo;
import com.yxt.anrui.oa.feign.file.OaFileEnum; import com.yxt.anrui.oa.feign.file.OaFileEnum;
import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum; import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum;
import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Collections; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service @Service
public class AdExpatriatesApplyService extends MybatisBaseService<AdExpatriatesApplyMapper, AdExpatriatesApply> { public class AdExpatriatesApplyService extends MybatisBaseService<AdExpatriatesApplyMapper, AdExpatriatesApply> {
@ -63,19 +58,51 @@ public class AdExpatriatesApplyService extends MybatisBaseService<AdExpatriatesA
private OaFormService oaFormService; private OaFormService oaFormService;
@Autowired @Autowired
private AdExpatriatesDetailService adExpatriatesDetailService; private AdExpatriatesDetailService adExpatriatesDetailService;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
public ResultBean<AdExpatriatesApplyVo> getSaveInit(String userSid, String orgPath) {
ResultBean<AdExpatriatesApplyVo> rb = ResultBean.fireFail();
AdExpatriatesApplyVo adExpatriatesApplyVo = new AdExpatriatesApplyVo();
adExpatriatesApplyVo.setCreateBySid(userSid);
adExpatriatesApplyVo.setOrgSidPath(orgPath);
return rb.success().setData(adExpatriatesApplyVo);
}
public PagerVo<AdExpatriatesApplyVo> listPageVo(PagerQuery<AdExpatriatesApplyQuery> pq) { public ResultBean<AdExpatriatesApplyVo> getUpdateInit(String sid) {
AdExpatriatesApplyQuery query = pq.getParams(); ResultBean<AdExpatriatesApplyVo> rb = ResultBean.fireFail();
QueryWrapper<AdExpatriatesApply> qw = new QueryWrapper<>(); AdExpatriatesApplyVo adExpatriatesApplyVo = new AdExpatriatesApplyVo();
if (query != null) { AdExpatriatesApply adExpatriatesApply = fetchBySid(sid);
if (StringUtils.isNotBlank(query.getBillNo())) { if (adExpatriatesApply == null) {
qw.like("ofm.billNo", query.getBillNo()); return rb.setMsg("该申请不存在");
} }
// adExpatriatesApplyVo.setTestPage(adExpatriatesApply.getTestPage());
OaForm oaForm = oaFormService.fetchBySid(sid);
adExpatriatesApplyVo.setTaskId(oaForm.getTaskId());
adExpatriatesApplyVo.setProcInsId(oaForm.getProcInstId());
//根据部门sid获取orgPath并赋值
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData();
String orgSidPath = organizationVo.getOrgSidPath();
adExpatriatesApplyVo.setOrgSidPath(orgSidPath);
adExpatriatesApplyVo.setCreateBySid(oaForm.getCreateBySid());
BeanUtil.copyProperties(adExpatriatesApply, adExpatriatesApplyVo);
List<AdExpatriatesDetailVo> list = adExpatriatesDetailService.getUpdateInit(sid);
list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
list.stream().forEach(details -> {
FormCommon deptObj = FormCommon.of(details.getDeptKey(), details.getDeptValue());
details.setDeptObj(deptObj);
FormCommon jobObj = FormCommon.of(details.getJobKey(), details.getJobValue());
details.setJobObj(jobObj);
});
} }
IPage<AdExpatriatesApply> page = PagerUtil.queryToPage(pq); List<String> files = oaAppendixService.selectByLinkSid(sid, "图片");
IPage<AdExpatriatesApplyVo> pagging = baseMapper.selectPageVo(page, qw); adExpatriatesApplyVo.setFiles(files);
PagerVo<AdExpatriatesApplyVo> p = PagerUtil.pageToVo(pagging, null); List<String> appes = oaAppendixService.selectByLinkSid(sid, "文件");
return p; adExpatriatesApplyVo.setAppes(appes);
adExpatriatesApplyVo.setList(list);
adExpatriatesApplyVo.setSid(sid);
return rb.success().setData(adExpatriatesApplyVo);
} }
public ResultBean<String> saveOrUpdateDto(AdExpatriatesApplyDto dto) { public ResultBean<String> saveOrUpdateDto(AdExpatriatesApplyDto dto) {
@ -83,7 +110,7 @@ public class AdExpatriatesApplyService extends MybatisBaseService<AdExpatriatesA
String sid = dto.getSid(); String sid = dto.getSid();
List<String> files = dto.getFiles(); List<String> files = dto.getFiles();
List<String> appes = dto.getAppes(); List<String> appes = dto.getAppes();
List<AdExpatriatesDetailDto> adExpatriatesDetailList = dto.getAdExpatriatesDetailList(); List<AdExpatriatesDetailDto> list = dto.getList();
if (StringUtils.isBlank(sid)) { if (StringUtils.isBlank(sid)) {
// 新建操作 // 新建操作
AdExpatriatesApply entity = new AdExpatriatesApply(); AdExpatriatesApply entity = new AdExpatriatesApply();
@ -100,24 +127,13 @@ public class AdExpatriatesApplyService extends MybatisBaseService<AdExpatriatesA
entity.setFormSid(resultBean.getData()); entity.setFormSid(resultBean.getData());
baseMapper.insert(entity); baseMapper.insert(entity);
sid = entity.getSid(); sid = entity.getSid();
//保存认定人员列表信息
for (AdExpatriatesDetailDto adExpatriatesDetailDto : adExpatriatesDetailList) {
adExpatriatesDetailDto.setMainSid(sid);
adExpatriatesDetailService.insertByDto(adExpatriatesDetailDto);
}
} else { } else {
// 更新操作 // 更新操作
AdExpatriatesApply entity = fetchBySid(sid); AdExpatriatesApply entity = fetchBySid(sid);
BeanUtil.copyProperties(dto, entity, "id", "sid"); BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity); baseMapper.updateById(entity);
//删除相关认定人员列表信息
adExpatriatesDetailService.delByMainSid(sid);
//保存认定人员列表信息
for (AdExpatriatesDetailDto adExpatriatesDetailDto : adExpatriatesDetailList) {
adExpatriatesDetailDto.setMainSid(sid);
adExpatriatesDetailService.insertByDto(adExpatriatesDetailDto);
}
} }
adExpatriatesDetailService.saveDetails(list, sid);
// 处理附件 // 处理附件
saveFiles(sid, files, OaFileEnum.ADEXPATRIATESAPPLY.getAttachType(), "图片"); saveFiles(sid, files, OaFileEnum.ADEXPATRIATESAPPLY.getAttachType(), "图片");
saveFiles(sid, appes, OaFileEnum.ADEXPATRIATESAPPLY.getAttachType(), "文件"); saveFiles(sid, appes, OaFileEnum.ADEXPATRIATESAPPLY.getAttachType(), "文件");
@ -130,13 +146,42 @@ public class AdExpatriatesApplyService extends MybatisBaseService<AdExpatriatesA
oaAppendixService.saveFile(sid, files, attachType, fileType); oaAppendixService.saveFile(sid, files, attachType, fileType);
} }
public AdExpatriatesApplyVo fetchDetailsVoBySid(String sid) { public ResultBean delAll(String[] sids) {
AdExpatriatesApplyVo vo = baseMapper.fetchDetailsVoBySid(sid); ResultBean rb = ResultBean.fireFail();
List<String> files = oaAppendixService.selectByLinkSid(sid); //查询该sid中是否有流程不是待提交的
vo.setFiles(files); int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
List<AdExpatriatesDetailVo> adExpatriatesDetailList = adExpatriatesDetailService.fetchByMainSid(sid); if (count > 0) {
vo.setAdExpatriatesDetailList(adExpatriatesDetailList); return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败");
return vo; }
delBySids(sids);
return rb.success();
}
public ResultBean<AdExpatriatesApplyDetailVo> details(String sid, String application) {
ResultBean<AdExpatriatesApplyDetailVo> rb = ResultBean.fireFail();
AdExpatriatesApplyDetailVo adExpatriatesApplyDetailVo = baseMapper.details(sid);
if (adExpatriatesApplyDetailVo == null) {
return rb.setMsg("该申请不存在");
}
List<String> files = oaAppendixService.selectByLinkSid(sid, "图片");
List<String> appes = oaAppendixService.selectByLinkSid(sid, "文件");
adExpatriatesApplyDetailVo.setFiles(files);
adExpatriatesApplyDetailVo.setAppes(appes);
List<AdExpatriatesDetailVo> updateInit = adExpatriatesDetailService.getUpdateInit(sid);
List<AdExpatriatesListDetailVo> adExpatriatesListDetailVos = new ArrayList<>();
if (!updateInit.isEmpty()) {
updateInit.stream().forEach(details -> {
AdExpatriatesListDetailVo adExpatriatesListDetailVo = new AdExpatriatesListDetailVo();
BeanUtil.copyProperties(details,adExpatriatesListDetailVo);
adExpatriatesListDetailVos.add(adExpatriatesListDetailVo);
});
}
adExpatriatesApplyDetailVo.setList(adExpatriatesListDetailVos);
//基础字段赋值
BeanUtil.copyProperties(oaFormService.getDetails(sid), adExpatriatesApplyDetailVo);
return rb.success().setData(adExpatriatesApplyDetailVo);
} }
/** /**
@ -244,15 +289,4 @@ public class AdExpatriatesApplyService extends MybatisBaseService<AdExpatriatesA
query.setFormVariables(formVariables); query.setFormVariables(formVariables);
return oaFormService.getPreviousNodesForReject(query); return oaFormService.getPreviousNodesForReject(query);
} }
public ResultBean delAll(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败");
}
delBySids(sids);
return rb.success();
}
} }

70
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyVo.java

@ -25,79 +25,35 @@
*********************************************************/ *********************************************************/
package com.yxt.anrui.oa.biz.adexpatriatesapply; package com.yxt.anrui.oa.biz.adexpatriatesapply;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailDto;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailVo; import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailVo;
import com.yxt.common.core.vo.Vo; import com.yxt.anrui.oa.biz.hrhiredetails.HrHireDetailsVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/**
* Project: oa(驻外人员认定申请) <br/>
* File: AdExpatriatesApplyVo.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesapply.AdExpatriatesApplyVo <br/>
* Description: 驻外人员认定申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-16 15:22:53 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "驻外人员认定申请 视图数据对象", description = "驻外人员认定申请 视图数据对象") public class AdExpatriatesApplyVo {
public class AdExpatriatesApplyVo implements Vo {
private String sid; private String sid;
/* private String userSid;
private String orgPath;*/
private String orgSidPath;
private String createBySid;
@ApiModelProperty("备注") @ApiModelProperty("备注")
private String remarks; private String remarks;
private String formSid;
@ApiModelProperty("关联审批单")
private String linkFormSids;
@ApiModelProperty("表单类别-流程名称")
private String formType;
@ApiModelProperty("标题")
private String title;
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("申请部门sid")
private String deptSid;
@ApiModelProperty("申请部门名称")
private String deptName;
@ApiModelProperty("分公司sid")
private String useOrgSid;
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty("办结日期")
private String finishTime;
@ApiModelProperty("实例id")
private String procInstId;
@ApiModelProperty("流程定义id")
private String procDefId;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("环节id")
private String nodeId;
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("创建组织")
private String createOrgName;
@ApiModelProperty("图片") @ApiModelProperty("图片")
private List<String> files = new ArrayList<>(); private List<String> files = new ArrayList<>();
@ApiModelProperty("附件") @ApiModelProperty("附件")
private List<String> appes = new ArrayList<>(); private List<String> appes = new ArrayList<>();
private List<AdExpatriatesDetailVo> adExpatriatesDetailList = new ArrayList<>(); private List<AdExpatriatesDetailVo> list = new ArrayList<>();
private String taskId;
@ApiModelProperty("流程实例id")
private String procInsId;
// private String testPage;
} }

36
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailDto.java

@ -26,6 +26,7 @@
package com.yxt.anrui.oa.biz.adexpatriatesdetail; package com.yxt.anrui.oa.biz.adexpatriatesdetail;
import com.yxt.anrui.oa.biz.oaform.FormCommon;
import com.yxt.common.core.dto.Dto; import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
@ -49,27 +50,24 @@ import lombok.Data;
@ApiModel(value = "驻外人员认定列表 数据传输对象", description = "驻外人员认定列表 数据传输对象") @ApiModel(value = "驻外人员认定列表 数据传输对象", description = "驻外人员认定列表 数据传输对象")
public class AdExpatriatesDetailDto implements Dto { public class AdExpatriatesDetailDto implements Dto {
private String sid; // sid private String sid;
@ApiModelProperty("申请sid") @ApiModelProperty("驻外人员")
private String mainSid; // 申请sid private FormCommon expatriatesObj;
@ApiModelProperty("驻外人员sid") private String expatriatesKey;
private String expatriatesSid; // 驻外人员sid private String expatriatesValue;
@ApiModelProperty("驻外人员姓名") @ApiModelProperty("驻外人员部门")
private String expatriatesName; // 驻外人员姓名 private FormCommon deptObj;
@ApiModelProperty("驻外人员部门sid") private String deptKey;
private String expatriatesDeptSid; // 驻外人员部门sid private String deptValue;
@ApiModelProperty("驻外人员部门名称") @ApiModelProperty("驻外人员职位")
private String expatriatesDeptName; // 驻外人员部门名称 private FormCommon jobObj;
@ApiModelProperty("驻外人员职位sid") private String jobKey;
private String expatriatesPostSid; // 驻外人员职位sid private String jobValue;
@ApiModelProperty("驻外人员职位名称")
private String expatriatesPostName; // 驻外人员职位名称
@ApiModelProperty("驻外人员家庭常住地址") @ApiModelProperty("驻外人员家庭常住地址")
private String expatriatesHomeAddress; // 驻外人员家庭常住地址 private String expatriatesHomeAddress;
@ApiModelProperty("驻外人员工作地址") @ApiModelProperty("驻外人员工作地址")
private String expatriatesWorkAddress; // 驻外人员工作地址 private String expatriatesWorkAddress;
@ApiModelProperty("驻外人员开始驻外时间") @ApiModelProperty("驻外人员开始驻外时间")
private String expatriatesDate; // 驻外人员开始驻外时间 private String expatriatesDate;
} }

7
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailMapper.java

@ -35,9 +35,8 @@ import java.util.List;
@Mapper @Mapper
public interface AdExpatriatesDetailMapper extends BaseMapper<AdExpatriatesDetail> { public interface AdExpatriatesDetailMapper extends BaseMapper<AdExpatriatesDetail> {
@Delete("delete from ad_expatriates_detail where mainSid = #{mainSid}")
void delByMainSid(String mainSid);
@Select("select * from ad_expatriates_detail where mainSid = #{mainSid}") @Select("select * from ad_expatriates_detail where mainSid = #{mainSid}")
List<AdExpatriatesDetailVo> fetchByMainSid(String mainSid); List<AdExpatriatesDetail> selectByMainSid(String mainSid);
List<AdExpatriatesDetailVo> getUpdateInit(String sid);
} }

15
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailMapper.xml

@ -1,5 +1,18 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailMapper"> <mapper namespace="com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailMapper">
<select id="getUpdateInit" resultType="com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailVo">
select sid,
expatriatesSid expatriatesKey,
expatriatesName expatriatesValue,
expatriatesDeptSid deptKey,
expatriatesDeptName deptValue,
expatriatesPostSid jobKey,
expatriatesPostName jobValue,
expatriatesHomeAddress,
expatriatesWorkAddress,
expatriatesDate
from ad_expatriates_detail
where mainSid = #{sid}
</select>
</mapper> </mapper>

37
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailService.java

@ -26,26 +26,45 @@
package com.yxt.anrui.oa.biz.adexpatriatesdetail; package com.yxt.anrui.oa.biz.adexpatriatesdetail;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.oa.biz.hrhiredetails.HrHireDetails;
import com.yxt.anrui.oa.feign.file.OaFileEnum;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List; import java.util.List;
@Service @Service
public class AdExpatriatesDetailService extends MybatisBaseService<AdExpatriatesDetailMapper, AdExpatriatesDetail> { public class AdExpatriatesDetailService extends MybatisBaseService<AdExpatriatesDetailMapper, AdExpatriatesDetail> {
public void insertByDto(AdExpatriatesDetailDto dto) { public void saveDetails(List<AdExpatriatesDetailDto> list, String sid) {
AdExpatriatesDetail entity = new AdExpatriatesDetail(); //根据sid查询明细并删除
BeanUtil.copyProperties(dto, entity, "id", "sid"); List<AdExpatriatesDetail> list2 = baseMapper.selectByMainSid(sid);
baseMapper.insert(entity); list2.removeAll(Collections.singleton(null));
if (!list2.isEmpty()) {
list2.stream().forEach(v -> {
deleteBySid(v.getSid());
});
}
list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
list.stream().forEach(details -> {
AdExpatriatesDetail adExpatriatesDetail = new AdExpatriatesDetail();
BeanUtil.copyProperties(details, adExpatriatesDetail);
adExpatriatesDetail.setExpatriatesSid(details.getExpatriatesKey());
adExpatriatesDetail.setExpatriatesName(details.getExpatriatesValue());
adExpatriatesDetail.setExpatriatesDeptSid(details.getDeptKey());
adExpatriatesDetail.setExpatriatesDeptName(details.getDeptValue());
adExpatriatesDetail.setExpatriatesPostSid(details.getJobKey());
adExpatriatesDetail.setExpatriatesPostName(details.getJobValue());
adExpatriatesDetail.setMainSid(sid);
baseMapper.insert(adExpatriatesDetail);
});
} }
public void delByMainSid(String mainSid) {
baseMapper.delByMainSid(mainSid);
} }
public List<AdExpatriatesDetailVo> fetchByMainSid(String mainSid) { public List<AdExpatriatesDetailVo> getUpdateInit(String sid) {
return baseMapper.fetchByMainSid(mainSid); return baseMapper.getUpdateInit(sid);
} }
} }

36
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailVo.java

@ -26,6 +26,7 @@
package com.yxt.anrui.oa.biz.adexpatriatesdetail; package com.yxt.anrui.oa.biz.adexpatriatesdetail;
import com.yxt.anrui.oa.biz.oaform.FormCommon;
import com.yxt.common.core.vo.Vo; import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
@ -49,27 +50,24 @@ import lombok.Data;
@ApiModel(value = "驻外人员认定列表 视图数据对象", description = "驻外人员认定列表 视图数据对象") @ApiModel(value = "驻外人员认定列表 视图数据对象", description = "驻外人员认定列表 视图数据对象")
public class AdExpatriatesDetailVo implements Vo { public class AdExpatriatesDetailVo implements Vo {
private String sid; // sid private String sid;
@ApiModelProperty("申请sid") @ApiModelProperty("驻外人员")
private String mainSid; // 申请sid private FormCommon expatriatesObj;
@ApiModelProperty("驻外人员sid") private String expatriatesKey;
private String expatriatesSid; // 驻外人员sid private String expatriatesValue;
@ApiModelProperty("驻外人员姓名") @ApiModelProperty("驻外人员部门")
private String expatriatesName; // 驻外人员姓名 private FormCommon deptObj;
@ApiModelProperty("驻外人员部门sid") private String deptKey;
private String expatriatesDeptSid; // 驻外人员部门sid private String deptValue;
@ApiModelProperty("驻外人员部门名称") @ApiModelProperty("驻外人员职位")
private String expatriatesDeptName; // 驻外人员部门名称 private FormCommon jobObj;
@ApiModelProperty("驻外人员职位sid") private String jobKey;
private String expatriatesPostSid; // 驻外人员职位sid private String jobValue;
@ApiModelProperty("驻外人员职位名称")
private String expatriatesPostName; // 驻外人员职位名称
@ApiModelProperty("驻外人员家庭常住地址") @ApiModelProperty("驻外人员家庭常住地址")
private String expatriatesHomeAddress; // 驻外人员家庭常住地址 private String expatriatesHomeAddress;
@ApiModelProperty("驻外人员工作地址") @ApiModelProperty("驻外人员工作地址")
private String expatriatesWorkAddress; // 驻外人员工作地址 private String expatriatesWorkAddress;
@ApiModelProperty("驻外人员开始驻外时间") @ApiModelProperty("驻外人员开始驻外时间")
private String expatriatesDate; // 驻外人员开始驻外时间 private String expatriatesDate;
} }

41
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailQuery.java → yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesListDetailVo.java

@ -26,17 +26,16 @@
package com.yxt.anrui.oa.biz.adexpatriatesdetail; package com.yxt.anrui.oa.biz.adexpatriatesdetail;
import com.yxt.common.core.query.Query; import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/** /**
* Project: yxt-oa(认定人员) <br/> * Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailQuery.java <br/> * File: AdExpatriatesDetailVo.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailQuery <br/> * Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/>
* Description: 驻外人员认定列表 查询条件. <br/> * Description: 驻外人员认定列表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/> * Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/> * Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/> * Makedate: 2025-01-20 15:35:08 <br/>
@ -46,28 +45,22 @@ import lombok.Data;
* @since 1.0 * @since 1.0
*/ */
@Data @Data
@ApiModel(value = "驻外人员认定列表 查询条件", description = "驻外人员认定列表 查询条件") @ApiModel(value = "驻外人员认定列表 视图数据对象", description = "驻外人员认定列表 视图数据对象")
public class AdExpatriatesDetailQuery implements Query { public class AdExpatriatesListDetailVo implements Vo {
private String sid;
@ApiModelProperty("申请sid") @ApiModelProperty("驻外人员")
private String mainSid; // 申请sid private String expatriatesValue;
@ApiModelProperty("驻外人员sid") @ApiModelProperty("驻外人员部门")
private String expatriatesSid; // 驻外人员sid private String expatriatesDeptValue;
@ApiModelProperty("驻外人员姓名") @ApiModelProperty("驻外人员职位")
private String expatriatesName; // 驻外人员姓名 private String expatriatesPostValue;
@ApiModelProperty("驻外人员部门sid")
private String expatriatesDeptSid; // 驻外人员部门sid
@ApiModelProperty("驻外人员部门名称")
private String expatriatesDeptName; // 驻外人员部门名称
@ApiModelProperty("驻外人员职位sid")
private String expatriatesPostSid; // 驻外人员职位sid
@ApiModelProperty("驻外人员职位名称")
private String expatriatesPostName; // 驻外人员职位名称
@ApiModelProperty("驻外人员家庭常住地址") @ApiModelProperty("驻外人员家庭常住地址")
private String expatriatesHomeAddress; // 驻外人员家庭常住地址 private String expatriatesHomeAddress;
@ApiModelProperty("驻外人员工作地址") @ApiModelProperty("驻外人员工作地址")
private String expatriatesWorkAddress; // 驻外人员工作地址 private String expatriatesWorkAddress;
@ApiModelProperty("驻外人员开始驻外时间") @ApiModelProperty("驻外人员开始驻外时间")
private String expatriatesDate; // 驻外人员开始驻外时间 private String expatriatesDate;
} }
Loading…
Cancel
Save