Browse Source

修改oaform

master
dimengzhe 4 months ago
parent
commit
c7d4c93f6c
  1. 21
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/OrgVo.java
  2. 7
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java
  3. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeignFallback.java
  4. 3
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java
  5. 4
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml
  6. 9
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgRest.java
  7. 33
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java
  8. 12
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaMendApplyRest.java
  9. 10
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixService.java
  10. 2
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.java
  11. 8
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.xml
  12. 47
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java
  13. 4
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.java
  14. 47
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.xml
  15. 42
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java
  16. 20
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyVo.java
  17. 22
      yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/OrgVo.java
  18. 6
      yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/SysStaffOrgFeign.java

21
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/OrgVo.java

@ -0,0 +1,21 @@
package com.yxt.anrui.portal.api.sysstafforg;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/9
**/
@Data
public class OrgVo {
private String useOrgSid;
private String useOrgName;
private String deptName;
private String deptSid;
private String orgCode;
}

7
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java

@ -101,6 +101,7 @@ public interface SysStaffOrgFeign {
@ResponseBody @ResponseBody
@ApiOperation("根据组织sid获取分公司sid") @ApiOperation("根据组织sid获取分公司sid")
ResultBean<String> getOrgSidBySid(@RequestParam(value = "orgSid") String orgSid); ResultBean<String> getOrgSidBySid(@RequestParam(value = "orgSid") String orgSid);
@GetMapping("/getOrgByStaffSid") @GetMapping("/getOrgByStaffSid")
@ResponseBody @ResponseBody
@ApiOperation("根据组织staffSid获取分公司SysStaffOrg") @ApiOperation("根据组织staffSid获取分公司SysStaffOrg")
@ -119,11 +120,15 @@ public interface SysStaffOrgFeign {
@PostMapping("/selAllByOrgPath") @PostMapping("/selAllByOrgPath")
@ResponseBody @ResponseBody
@ApiOperation("根据分公司全路径和角色sid模糊查询本公司本角色下的所有员工userSid") @ApiOperation("根据分公司全路径和角色sid模糊查询本公司本角色下的所有员工userSid")
ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgPath(@RequestParam("orgSidPath") String orgSidPath,@RequestParam("roleSid") String roleSid); ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgPath(@RequestParam("orgSidPath") String orgSidPath, @RequestParam("roleSid") String roleSid);
@PostMapping("/selAllByOrgSidPath") @PostMapping("/selAllByOrgSidPath")
@ResponseBody @ResponseBody
@ApiOperation("根据组织全路径查询当前部门下的所有员工") @ApiOperation("根据组织全路径查询当前部门下的所有员工")
ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgSidPath(@RequestParam("orgSidPath") String orgSidPath); ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgSidPath(@RequestParam("orgSidPath") String orgSidPath);
@GetMapping("/getOrgByPath")
@ResponseBody
@ApiOperation("根据组织全路径查询组织")
ResultBean<OrgVo> getOrgByPath(@RequestParam("orgSidPath") String orgSidPath);
} }

5
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeignFallback.java

@ -115,6 +115,11 @@ public class SysStaffOrgFeignFallback implements SysStaffOrgFeign {
return null; return null;
} }
@Override
public ResultBean<OrgVo> getOrgByPath(String orgSidPath) {
return null;
}
@Override @Override
public ResultBean<SysStaffOrg> selectAllByStaffSid(String staffSid) { public ResultBean<SysStaffOrg> selectAllByStaffSid(String staffSid) {
return null; return null;

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

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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.sysorganization.SysOrganization;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgByUserVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgByUserVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgDetailsVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgDetailsVo;
@ -119,4 +120,6 @@ public interface SysStaffOrgMapper extends BaseMapper<SysStaffOrg> {
List<SysStaffOrgByUserVo> selAllByOrgPath(@Param(Constants.WRAPPER) QueryWrapper qw); List<SysStaffOrgByUserVo> selAllByOrgPath(@Param(Constants.WRAPPER) QueryWrapper qw);
List<SysStaffOrgByUserVo> selAllByOrgSidPath(String orgSidPath); List<SysStaffOrgByUserVo> selAllByOrgSidPath(String orgSidPath);
SysOrganization selectOrgSidPath(String orgSidPath);
} }

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

@ -158,4 +158,8 @@
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 * from sys_organization where orgSidPath = #{orgSidPath}
</select>
</mapper> </mapper>

9
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgRest.java

@ -141,8 +141,8 @@ public class SysStaffOrgRest implements SysStaffOrgFeign {
} }
@Override @Override
public ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgPath(String orgSidPath,String roleSid) { public ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgPath(String orgSidPath, String roleSid) {
return sysStaffOrgService.selAllByOrgPath(orgSidPath,roleSid); return sysStaffOrgService.selAllByOrgPath(orgSidPath, roleSid);
} }
@Override @Override
@ -159,4 +159,9 @@ public class SysStaffOrgRest implements SysStaffOrgFeign {
public ResultBean<String> getPathSidByUserSid(String applySid) { public ResultBean<String> getPathSidByUserSid(String applySid) {
return sysStaffOrgService.getPathSidByUserSid(applySid); return sysStaffOrgService.getPathSidByUserSid(applySid);
} }
@Override
public ResultBean<OrgVo> getOrgByPath(String orgSidPath) {
return sysStaffOrgService.getOrgByPath(orgSidPath);
}
} }

33
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java

@ -247,7 +247,7 @@ public class SysStaffOrgService extends MybatisBaseService<SysStaffOrgMapper, Sy
public String getOrgByOrgSid(String orgSid) { public String getOrgByOrgSid(String orgSid) {
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(orgSid); SysOrganization sysOrganization = sysOrganizationService.fetchBySid(orgSid);
if(sysOrganization == null){ if (sysOrganization == null) {
return "0"; return "0";
} }
if ("0".equals(sysOrganization.getPsid())) { if ("0".equals(sysOrganization.getPsid())) {
@ -310,18 +310,18 @@ public class SysStaffOrgService extends MybatisBaseService<SysStaffOrgMapper, Sy
} }
public List<SysStaffOrg> selectStaffByOrgSid(String sid, String type) { public List<SysStaffOrg> selectStaffByOrgSid(String sid, String type) {
return baseMapper.selectStaffByOrgSid(sid,type); return baseMapper.selectStaffByOrgSid(sid, type);
} }
public List<String> selectStaffByOrg(String orgSid) { public List<String> selectStaffByOrg(String orgSid) {
return baseMapper.selectStaffByOrg(orgSid); return baseMapper.selectStaffByOrg(orgSid);
} }
public ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgPath(String orgSidPath,String roleSid) { public ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgPath(String orgSidPath, String roleSid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
QueryWrapper qw = new QueryWrapper<>(); QueryWrapper qw = new QueryWrapper<>();
qw.eq("sur.roleSid",roleSid); qw.eq("sur.roleSid", roleSid);
qw.like("sso.orgSidPath",orgSidPath); qw.like("sso.orgSidPath", orgSidPath);
List<SysStaffOrgByUserVo> sysStaffOrgByUserVos = baseMapper.selAllByOrgPath(qw); List<SysStaffOrgByUserVo> sysStaffOrgByUserVos = baseMapper.selAllByOrgPath(qw);
return rb.success().setData(sysStaffOrgByUserVos); return rb.success().setData(sysStaffOrgByUserVos);
} }
@ -340,4 +340,27 @@ public class SysStaffOrgService extends MybatisBaseService<SysStaffOrgMapper, Sy
List<SysStaffOrgByUserVo> sysStaffOrgByUserVoList = baseMapper.selAllByOrgSidPath(orgSidPath); List<SysStaffOrgByUserVo> sysStaffOrgByUserVoList = baseMapper.selAllByOrgSidPath(orgSidPath);
return rb.success().setData(sysStaffOrgByUserVoList); return rb.success().setData(sysStaffOrgByUserVoList);
} }
public ResultBean<OrgVo> getOrgByPath(String orgSidPath) {
ResultBean<OrgVo> rb = ResultBean.fireFail();
OrgVo orgVo = new OrgVo();
List<String> stringList = Arrays.asList(orgSidPath.split("/"));
//根据orgSidPath查询该组织的层级
SysOrganization sysOrganization = baseMapper.selectOrgSidPath(orgSidPath);
if ("1".equals(sysOrganization.getOrgLevelKey())) {
sysOrganization = sysOrganizationService.fetchBySid(stringList.get(0));
} else if ("2".equals(sysOrganization.getOrgLevelKey())) {
sysOrganization = sysOrganizationService.fetchBySid(stringList.get(1));
} else {
sysOrganization = sysOrganizationService.fetchBySid(stringList.get(2));
}
orgVo.setUseOrgName(sysOrganization.getName());
orgVo.setUseOrgSid(sysOrganization.getSid());
orgVo.setOrgCode(sysOrganization.getOrgCode());
String lastPart = orgSidPath.contains("/") ? orgSidPath.substring(orgSidPath.lastIndexOf("/") + 1) : orgSidPath;
sysOrganization = sysOrganizationService.fetchBySid(lastPart);
orgVo.setDeptName(sysOrganization.getName());
orgVo.setDeptSid(sysOrganization.getSid());
return rb.success().setData(orgVo);
}
} }

12
yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaMendApplyRest.java

@ -81,17 +81,9 @@ public class OaMendApplyRest {
@ApiOperation("根据SID获取一条记录") @ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}") @GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<OaMendApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid) { public ResultBean<OaMendApplyVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
OaMendApplyDetailsVo vo = oaMendApplyService.fetchDetailsVoBySid(sid); OaMendApplyVo vo = oaMendApplyService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@ApiOperation("初始化")
@GetMapping("/init")
public ResultBean<OaMendApplyInitVo> init(@RequestParam(value = "sid", required = false) String sid, @RequestParam("orgPath") String orgPath) {
ResultBean rb = ResultBean.fireFail();
OaMendApplyInitVo vo = oaMendApplyService.init(sid, orgPath);
return rb.success().setData(vo); return rb.success().setData(vo);
} }

10
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixService.java

@ -37,7 +37,13 @@ public class OaAppendixService extends MybatisBaseService<OaAppendixMapper, OaAp
return baseMapper.fetchByLinkSid(linkSid); return baseMapper.fetchByLinkSid(linkSid);
} }
public int deleteByLinkSid(String sid) { public void saveOrUpdateFile(String sid, List<OaAppendix> oaAppendixList) {
return baseMapper.deleteByLinkSid(sid); baseMapper.deleteByLinkSid(sid);
if (!oaAppendixList.isEmpty()) {
oaAppendixList.forEach(v -> {
baseMapper.insert(v);
});
}
} }
} }

2
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.java

@ -22,5 +22,5 @@ public interface OaFormMapper extends BaseMapper<OaForm> {
int updateFlowFiled(Map<String, Object> map); int updateFlowFiled(Map<String, Object> map);
String selectNum(String billNo); int selectNum(String bill);
} }

8
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.xml

@ -32,11 +32,9 @@
WHERE sid = #{sid} WHERE sid = #{sid}
</update> </update>
<select id="selectNum" resultType="java.lang.String"> <select id="selectNum" resultType="int">
select RIGHT(billNo, 4) select IFNULL(CAST(REPLACE(MAX(billNo), #{bill}, '') AS SIGNED), 0) as code
from oa_form from oa_form
where billNo LIKE concat(#{billNo}, '%') where billNo LIKE concat(#{bill}, '%')
order by billNo desc
limit 1
</select> </select>
</mapper> </mapper>

47
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.oa.biz.oaform.flowable.*; import com.yxt.anrui.oa.biz.oaform.flowable.*;
import com.yxt.anrui.oa.feign.base.BillNo;
import com.yxt.anrui.oa.feign.base.Rule; import com.yxt.anrui.oa.feign.base.Rule;
import com.yxt.anrui.oa.feign.flowable.flow.BusinessVariables; import com.yxt.anrui.oa.feign.flowable.flow.BusinessVariables;
import com.yxt.anrui.oa.feign.flowable.flow.FlowableFeign; import com.yxt.anrui.oa.feign.flowable.flow.FlowableFeign;
@ -21,6 +22,7 @@ import com.yxt.anrui.oa.feign.message.MessageFlowVo;
import com.yxt.anrui.oa.feign.message.MessageFlowableQuery; import com.yxt.anrui.oa.feign.message.MessageFlowableQuery;
import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign; import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo; import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.anrui.oa.feign.portal.sysstafforg.OrgVo;
import com.yxt.anrui.oa.feign.portal.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.oa.feign.portal.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.oa.feign.sysuser.SysUserFeign; import com.yxt.anrui.oa.feign.sysuser.SysUserFeign;
import com.yxt.anrui.oa.feign.sysuser.SysUserVo; import com.yxt.anrui.oa.feign.sysuser.SysUserVo;
@ -80,38 +82,19 @@ public class OaFormService extends MybatisBaseService<OaFormMapper, OaForm> {
public ResultBean<String> saveOaForm(OaFormDto dto) { public ResultBean<String> saveOaForm(OaFormDto dto) {
ResultBean<String> rb = ResultBean.fireFail(); ResultBean<String> rb = ResultBean.fireFail();
OaForm oaForm = new OaForm(); OaForm oaForm = new OaForm();
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgSidPath()).getData(); OrgVo orgVo = sysStaffOrgFeign.getOrgByPath(dto.getOrgSidPath()).getData();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); BeanUtil.copyProperties(orgVo, oaForm);
String deptName = "";
String deptSid = "";
List<String> split = Arrays.asList(dto.getOrgSidPath().split("/"));
if (split.size() > 1) {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData();
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
deptName = sysOrganization1.getName();
deptSid = sysOrganization1.getSid();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
deptName = sysOrganization.getName();
deptSid = sysOrganization.getSid();
}
// 生成单据编号 // 生成单据编号
String billNo = dto.getBillNo() + useOrgSid + DateUtil.format(DateUtil.date(), "yyyyMM"); BillNo b = new BillNo();
String i = selectNum(billNo); b.setOrgCode(orgVo.getOrgCode());
if (StringUtils.isNotBlank(i)) { b.setBillType("BKSQ");
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); String bill = Rule.getBill(b);
} else { int i = baseMapper.selectNum(bill);
billNo = Rule.getBillNo(billNo, 0); String billNo = Rule.getBillNo(bill, i);
}
oaForm.setUseOrgSid(useOrgSid);
oaForm.setUseOrgName(organizationVo.getName());
oaForm.setDeptSid(deptSid);
oaForm.setDeptName(deptName);
oaForm.setBillNo(billNo); oaForm.setBillNo(billNo);
oaForm.setCreateOrgSid(useOrgSid); oaForm.setCreateBySid(dto.getCreateBySid());
oaForm.setCreateOrgName(organizationVo.getName()); oaForm.setCreateOrgSid(oaForm.getUseOrgSid());
oaForm.setCreateOrgName(oaForm.getUseOrgName());
// 获取用户信息 // 获取用户信息
SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getCreateBySid()).getData(); SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getCreateBySid()).getData();
@ -417,8 +400,4 @@ public class OaFormService extends MybatisBaseService<OaFormMapper, OaForm> {
public int updateFormType(OaForm oaForm) { public int updateFormType(OaForm oaForm) {
return baseMapper.updateById(oaForm); return baseMapper.updateById(oaForm);
} }
public String selectNum(String billNo) {
return baseMapper.selectNum(billNo);
}
} }

4
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.java

@ -55,8 +55,6 @@ public interface OaMendApplyMapper extends BaseMapper<OaMendApply> {
int selectBySid(String join); int selectBySid(String join);
OaMendApplyVo fetchDetailsVoBySid(String sid);
OaMendApplyDetailsVo fetchDetailsVoBySid(String sid);
OaMendApplyInitVo init(String sid);
} }

47
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.xml

@ -4,9 +4,10 @@
<!-- <where> ${ew.sqlSegment} </where>--> <!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} --> <!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.oa.biz.oamendapply.OaMendApplyVo"> <select id="selectPageVo" resultType="com.yxt.anrui.oa.biz.oamendapply.OaMendApplyVo">
SELECT oa.sid,oa.remarks, SELECT oa.sid,
oa.remarks,
oa.time, oa.time,
oa.formSid oa.formSid,
ofm.billNo, ofm.billNo,
ofm.createByName, ofm.createByName,
ofm.deptSid, ofm.deptSid,
@ -18,7 +19,11 @@
ofm.procDefId, ofm.procDefId,
ofm.taskId, ofm.taskId,
ofm.nodeId, ofm.nodeId,
ofm.nodeState ofm.nodeState,
ofm.formType,
ofm.title,
ofm.createOrgSid,
ofm.createOrgName
FROM oa_mend_apply oa FROM oa_mend_apply oa
left join oa_form ofm on oa.formSid = ofm.sid left join oa_form ofm on oa.formSid = ofm.sid
<where> <where>
@ -34,34 +39,28 @@
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.oamendapply.OaMendApplyDetailsVo"> <select id="fetchDetailsVoBySid" resultType="com.yxt.anrui.oa.biz.oamendapply.OaMendApplyVo">
select oa.sid, SELECT oa.sid,
oa.remarks, oa.remarks,
ofm.billNo,
ofm.createByName,
ofm.createBySid,
ofm.deptSid,
ofm.deptName,
oa.time, oa.time,
ofm.useOrgSid, oa.formSid,
ofm.useOrgName
from oa_menu_apply oa
left join oa_form ofm on oa.formSid = ofm.sid
where oa.sid = #{sid}
</select>
<select id="init" resultType="com.yxt.anrui.oa.biz.oamendapply.OaMendApplyInitVo">
select oa.sid,
oa.remarks,
ofm.billNo, ofm.billNo,
ofm.createByName, ofm.createByName,
ofm.createBySid,
ofm.deptSid, ofm.deptSid,
ofm.deptName, ofm.deptName,
oa.time,
ofm.useOrgSid, ofm.useOrgSid,
ofm.useOrgName ofm.useOrgName,
from oa_menu_apply oa 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 oa_mend_apply oa
left join oa_form ofm on oa.formSid = ofm.sid left join oa_form ofm on oa.formSid = ofm.sid
where oa.sid = #{sid} where oa.sid = #{sid}
</select> </select>

42
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java

@ -45,8 +45,6 @@ import com.yxt.anrui.oa.feign.message.MessageFlowVo;
import com.yxt.anrui.oa.feign.message.MessageFlowableQuery; import com.yxt.anrui.oa.feign.message.MessageFlowableQuery;
import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign; import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo; import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.anrui.oa.feign.portal.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.oa.feign.sysuser.SysUserFeign;
import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.config.component.FileUploadComponent;
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;
@ -150,24 +148,19 @@ public class OaMendApplyService extends MybatisBaseService<OaMendApplyMapper, Oa
ResultBean<String> rb = ResultBean.fireFail(); ResultBean<String> rb = ResultBean.fireFail();
String sid = dto.getSid(); String sid = dto.getSid();
List<String> files = dto.getFiles(); List<String> files = dto.getFiles();
if (StringUtils.isBlank(sid)) { if (StringUtils.isBlank(sid)) {
// 新建操作 // 新建操作
OaMendApply entity = new OaMendApply(); OaMendApply entity = new OaMendApply();
BeanUtil.copyProperties(dto, entity, "sid"); BeanUtil.copyProperties(dto, entity, "sid");
OaFormDto oaFormDto = new OaFormDto(); OaFormDto oaFormDto = new OaFormDto();
BeanUtil.copyProperties(dto, oaFormDto, "sid"); BeanUtil.copyProperties(dto, oaFormDto, "sid");
oaFormDto.setBillNo("BKSQ"); oaFormDto.setBillNo("BKSQ");
ResultBean<String> resultBean = oaFormService.saveOaForm(oaFormDto); ResultBean<String> resultBean = oaFormService.saveOaForm(oaFormDto);
if (!resultBean.getSuccess()) { if (!resultBean.getSuccess()) {
return rb; return rb;
} }
entity.setFormSid(resultBean.getData()); entity.setFormSid(resultBean.getData());
baseMapper.insert(entity); baseMapper.insert(entity);
// 处理附件 // 处理附件
saveFiles(sid, files); saveFiles(sid, files);
sid = entity.getSid(); sid = entity.getSid();
@ -176,6 +169,8 @@ public class OaMendApplyService extends MybatisBaseService<OaMendApplyMapper, Oa
OaMendApply entity = fetchBySid(sid); OaMendApply entity = fetchBySid(sid);
BeanUtil.copyProperties(dto, entity, "id", "sid"); BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity); baseMapper.updateById(entity);
// 处理附件
saveFiles(sid, files);
} }
return rb.success().setData(sid); return rb.success().setData(sid);
@ -183,23 +178,24 @@ public class OaMendApplyService extends MybatisBaseService<OaMendApplyMapper, Oa
// 保存文件 // 保存文件
private void saveFiles(String sid, List<String> files) { private void saveFiles(String sid, List<String> files) {
if (files == null || files.isEmpty()) { files.removeAll(Collections.singleton(null));
return; // 如果没有文件,不做任何操作 List<OaAppendix> oaAppendixList = new ArrayList<>();
if (!files.isEmpty()) {
for (String file : files) {
String filePath = file.replace(fileUploadComponent.getUrlPrefix(), "");
OaAppendix oaAppendix = new OaAppendix();
oaAppendix.setLinkSid(sid);
oaAppendix.setAttachType(OaFileEnum.OAMENDAPPLY.getAttachType());
oaAppendix.setFilePath(filePath);
oaAppendixList.add(oaAppendix);
}
} }
oaAppendixService.deleteByLinkSid(sid); oaAppendixService.saveOrUpdateFile(sid, oaAppendixList);
for (String file : files) {
String filePath = file.replace(fileUploadComponent.getUrlPrefix(), "");
OaAppendix oaAppendix = new OaAppendix();
oaAppendix.setLinkSid(sid);
oaAppendix.setAttachType(OaFileEnum.OAMENDAPPLY.getAttachType());
oaAppendix.setFilePath(filePath);
oaAppendixService.save(oaAppendix);
}
} }
public OaMendApplyDetailsVo fetchDetailsVoBySid(String sid) { public OaMendApplyVo fetchDetailsVoBySid(String sid) {
OaMendApplyDetailsVo vo = baseMapper.fetchDetailsVoBySid(sid); OaMendApplyVo vo = baseMapper.fetchDetailsVoBySid(sid);
List<OaAppendix> oaAppendices = oaAppendixService.fetchByLinkSid(sid); List<OaAppendix> oaAppendices = oaAppendixService.fetchByLinkSid(sid);
List<String> files = new ArrayList<>(); List<String> files = new ArrayList<>();
for (OaAppendix oaAppendix : oaAppendices) { for (OaAppendix oaAppendix : oaAppendices) {
@ -335,10 +331,4 @@ public class OaMendApplyService extends MybatisBaseService<OaMendApplyMapper, Oa
delBySids(sids); delBySids(sids);
return rb.success(); return rb.success();
} }
public OaMendApplyInitVo init(String sid, String orgPath) {
OaMendApplyInitVo oaMendApplyInitVo = baseMapper.init(sid);
oaMendApplyInitVo.setOrgPath(orgPath);
return oaMendApplyInitVo;
}
} }

20
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyVo.java

@ -30,7 +30,9 @@ import com.yxt.common.core.vo.Vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -55,9 +57,18 @@ public class OaMendApplyVo implements Vo {
private static final long serialVersionUID = 5358032202923713923L; private static final long serialVersionUID = 5358032202923713923L;
private String sid; private String sid;
@ApiModelProperty("补卡原因")
private String remarks; private String remarks;
private String formSid; private String formSid;
@ApiModelProperty("补卡时间")
private String time;
@ApiModelProperty("关联审批单")
private String linkFormSids;
@ApiModelProperty("表单类别-流程名称")
private String formType;
@ApiModelProperty("标题")
private String title;
@ApiModelProperty("单据编号") @ApiModelProperty("单据编号")
private String billNo; private String billNo;
@ApiModelProperty("申请人") @ApiModelProperty("申请人")
@ -66,8 +77,6 @@ public class OaMendApplyVo implements Vo {
private String deptSid; private String deptSid;
@ApiModelProperty("申请部门名称") @ApiModelProperty("申请部门名称")
private String deptName; private String deptName;
@ApiModelProperty("补卡时间")
private String time;
@ApiModelProperty("分公司sid") @ApiModelProperty("分公司sid")
private String useOrgSid; private String useOrgSid;
@ApiModelProperty("分公司名称") @ApiModelProperty("分公司名称")
@ -84,5 +93,12 @@ public class OaMendApplyVo implements Vo {
private String nodeId; private String nodeId;
@ApiModelProperty("流程状态") @ApiModelProperty("流程状态")
private String nodeState; private String nodeState;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("创建组织")
private String createOrgName;
@ApiModelProperty("图片")
private List<String> files = new ArrayList<>();
} }

22
yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/OrgVo.java

@ -0,0 +1,22 @@
package com.yxt.anrui.oa.feign.portal.sysstafforg;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/9
**/
@Data
public class OrgVo {
private String useOrgSid;
private String useOrgName;
private String deptName;
private String deptSid;
private String orgCode;
}

6
yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/SysStaffOrgFeign.java

@ -22,4 +22,10 @@ public interface SysStaffOrgFeign {
@ResponseBody @ResponseBody
@ApiOperation("根据用户组织全路径获取用户的分公司sid") @ApiOperation("根据用户组织全路径获取用户的分公司sid")
ResultBean<String> getOrgSidByPath(@RequestParam("orgPath") String orgPath); ResultBean<String> getOrgSidByPath(@RequestParam("orgPath") String orgPath);
@GetMapping("/getOrgByPath")
@ResponseBody
@ApiOperation("根据用户组织全路径组织")
public ResultBean<OrgVo> getOrgByPath(@RequestParam("orgSidPath") String orgSidPath);
} }

Loading…
Cancel
Save