Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
ligaode 3 months ago
parent
commit
abdbb54ba6
  1. 53
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdFixedAssetLedgerRest.java
  2. 53
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdFixedAssetRest.java
  3. 56
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/HrHireApplyRest.java
  4. 54
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedasset/AdFixedAsset.java
  5. 58
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedasset/AdFixedAssetDto.java
  6. 44
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedasset/AdFixedAssetMapper.java
  7. 12
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedasset/AdFixedAssetMapper.xml
  8. 63
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedasset/AdFixedAssetQuery.java
  9. 94
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedasset/AdFixedAssetService.java
  10. 59
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedasset/AdFixedAssetVo.java
  11. 62
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedassetledger/AdFixedAssetLedger.java
  12. 66
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedassetledger/AdFixedAssetLedgerDto.java
  13. 44
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedassetledger/AdFixedAssetLedgerMapper.java
  14. 12
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedassetledger/AdFixedAssetLedgerMapper.xml
  15. 67
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedassetledger/AdFixedAssetLedgerQuery.java
  16. 94
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedassetledger/AdFixedAssetLedgerService.java
  17. 68
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedassetledger/AdFixedAssetLedgerVo.java
  18. 20
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApply.java
  19. 24
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyDto.java
  20. 13
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyMapper.java
  21. 4
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyMapper.xml
  22. 177
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyService.java
  23. 28
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyVo.java
  24. 41
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhiredetails/HrHireDetails.java
  25. 45
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhiredetails/HrHireDetailsDto.java
  26. 18
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhiredetails/HrHireDetailsMapper.java
  27. 28
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhiredetails/HrHireDetailsMapper.xml
  28. 66
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhiredetails/HrHireDetailsService.java
  29. 48
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhiredetails/HrHireDetailsVo.java
  30. 12
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/Extra.java
  31. 25
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/FormCommon.java
  32. 2
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormDto.java
  33. 5
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java
  34. 1
      yxt-oa/src/main/java/com/yxt/anrui/oa/feign/file/OaFileEnum.java
  35. 1
      yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java

53
yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdFixedAssetLedgerRest.java

@ -0,0 +1,53 @@
package com.yxt.anrui.oa.api;
import com.yxt.anrui.oa.biz.adfixedassetledger.AdFixedAssetLedgerDto;
import com.yxt.anrui.oa.biz.adfixedassetledger.AdFixedAssetLedgerQuery;
import com.yxt.anrui.oa.biz.adfixedassetledger.AdFixedAssetLedgerService;
import com.yxt.anrui.oa.biz.adfixedassetledger.AdFixedAssetLedgerVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@Api(tags = "固定资产台账管理")
@RestController
@RequestMapping("v1/adfixedassetledger")
public class AdFixedAssetLedgerRest {
@Autowired
private AdFixedAssetLedgerService adFixedAssetLedgerService;
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<AdFixedAssetLedgerVo>> listPage(@RequestBody PagerQuery<AdFixedAssetLedgerQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<AdFixedAssetLedgerVo> pv = adFixedAssetLedgerService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody AdFixedAssetLedgerDto dto) {
return adFixedAssetLedgerService.saveOrUpdateDto(dto);
}
@ApiOperation("根据sid批量删除")
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids) {
ResultBean rb = ResultBean.fireFail();
adFixedAssetLedgerService.delBySids(sids);
return rb.success();
}
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<AdFixedAssetLedgerVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail();
AdFixedAssetLedgerVo vo = adFixedAssetLedgerService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
}

53
yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdFixedAssetRest.java

@ -0,0 +1,53 @@
package com.yxt.anrui.oa.api;
import com.yxt.anrui.oa.biz.adfixedasset.AdFixedAssetDto;
import com.yxt.anrui.oa.biz.adfixedasset.AdFixedAssetQuery;
import com.yxt.anrui.oa.biz.adfixedasset.AdFixedAssetService;
import com.yxt.anrui.oa.biz.adfixedasset.AdFixedAssetVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@Api(tags = "固定资产管理")
@RestController
@RequestMapping("v1/adfixedasset")
public class AdFixedAssetRest {
@Autowired
private AdFixedAssetService adFixedAssetService;
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<AdFixedAssetVo>> listPage(@RequestBody PagerQuery<AdFixedAssetQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<AdFixedAssetVo> pv = adFixedAssetService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody AdFixedAssetDto dto) {
return adFixedAssetService.saveOrUpdateDto(dto);
}
@ApiOperation("根据sid批量删除")
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids) {
ResultBean rb = ResultBean.fireFail();
adFixedAssetService.delBySids(sids);
return rb.success();
}
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<AdFixedAssetVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail();
AdFixedAssetVo vo = adFixedAssetService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
}

56
yxt-oa/src/main/java/com/yxt/anrui/oa/api/HrHireApplyRest.java

@ -0,0 +1,56 @@
package com.yxt.anrui.oa.api;
import com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyDto;
import com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyService;
import com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyVo;
import com.yxt.anrui.oa.biz.oaform.flowable.TaskDto;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/16
**/
@RestController
@RequestMapping("v1/HrHireApply")
public class HrHireApplyRest {
@Autowired
private HrHireApplyService hrHireApplyService;
@ApiOperation("新增初始化")
@GetMapping("/getInit")
ResultBean<HrHireApplyVo> getSaveInit(@RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath) {
return hrHireApplyService.getSaveInit(userSid, orgPath);
}
@ApiOperation("修改初始化")
@GetMapping("/getInit/{sid}")
ResultBean<HrHireApplyVo> getUpdateInit(@PathVariable("sid") String sid) {
return hrHireApplyService.getUpdateInit(sid);
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean<String> saveOrUpdate(@RequestBody HrHireApplyDto dto) {
return hrHireApplyService.saveOrUpdateDto(dto);
}
@ApiOperation("提交审批流程")
@PostMapping("/submit")
public ResultBean submit(@RequestBody HrHireApplyDto dto) {
return hrHireApplyService.submit(dto);
}
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean reject(@Valid @RequestBody TaskDto dto) {
return hrHireApplyService.reject(dto);
}
}

54
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedasset/AdFixedAsset.java

@ -0,0 +1,54 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfixedasset;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "固定资产表", description = "固定资产表")
@TableName("ad_fixed_asset")
public class AdFixedAsset extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("固定资产名称")
private String assetName; // 固定资产名称
@ApiModelProperty("编号")
private String assetNumber; // 编号
@ApiModelProperty("单位")
private String unit; // 单位
@ApiModelProperty("规格")
private String specification; // 规格
@ApiModelProperty("固定资产类别key")
private String assetTypeKey; // 固定资产类别key
@ApiModelProperty("固定资产类别")
private String assetTypeValue; // 固定资产类别
}

58
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedasset/AdFixedAssetDto.java

@ -0,0 +1,58 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfixedasset;
import com.yxt.anrui.oa.biz.oaform.OaFormDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "固定资产表 数据传输对象", description = "固定资产表 数据传输对象")
public class AdFixedAssetDto extends OaFormDto {
private String sid; // sid
@ApiModelProperty("固定资产名称")
private String assetName; // 固定资产名称
@ApiModelProperty("编号")
private String assetNumber; // 编号
@ApiModelProperty("单位")
private String unit; // 单位
@ApiModelProperty("规格")
private String specification; // 规格
@ApiModelProperty("固定资产类别key")
private String assetTypeKey; // 固定资产类别key
@ApiModelProperty("固定资产类别")
private String assetTypeValue; // 固定资产类别
@ApiModelProperty("备注")
private String remarks;
}

44
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedasset/AdFixedAssetMapper.java

@ -0,0 +1,44 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfixedasset;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface AdFixedAssetMapper extends BaseMapper<AdFixedAsset> {
IPage<AdFixedAssetVo> selectPageVo(IPage<AdFixedAsset> page, @Param(Constants.WRAPPER) Wrapper<AdFixedAsset> qw);
}

12
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedasset/AdFixedAssetMapper.xml

@ -0,0 +1,12 @@
<?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">
<mapper namespace="com.yxt.anrui.oa.biz.adfixedasset.AdFixedAssetMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.oa.biz.adfixedasset.AdFixedAssetVo">
SELECT * from ad_fixed_asset
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

63
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedasset/AdFixedAssetQuery.java

@ -0,0 +1,63 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfixedasset;
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 AdFixedAssetQuery implements Query {
@ApiModelProperty("固定资产名称")
private String assetName; // 固定资产名称
@ApiModelProperty("编号")
private String assetNumber; // 编号
@ApiModelProperty("单位")
private String unit; // 单位
@ApiModelProperty("规格")
private String specification; // 规格
@ApiModelProperty("固定资产类别key")
private String assetTypeKey; // 固定资产类别key
@ApiModelProperty("固定资产类别")
private String assetTypeValue; // 固定资产类别
}

94
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedasset/AdFixedAssetService.java

@ -0,0 +1,94 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfixedasset;
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.oaappendix.OaAppendixService;
import com.yxt.anrui.oa.biz.oaform.OaFormService;
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.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class AdFixedAssetService extends MybatisBaseService<AdFixedAssetMapper, AdFixedAsset> {
@Autowired
private OaAppendixService oaAppendixService;
@Autowired
private OaFormService oaFormService;
public PagerVo<AdFixedAssetVo> listPageVo(PagerQuery<AdFixedAssetQuery> pq) {
AdFixedAssetQuery query = pq.getParams();
QueryWrapper<AdFixedAsset> qw = new QueryWrapper<>();
if (query != null) {
if (StringUtils.isNotBlank(query.getAssetName())) {
qw.like("assetName", query.getAssetName());
}
if (StringUtils.isNotBlank(query.getAssetNumber())) {
qw.like("assetNumber", query.getAssetNumber());
}
}
IPage<AdFixedAsset> page = PagerUtil.queryToPage(pq);
IPage<AdFixedAssetVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<AdFixedAssetVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean<String> saveOrUpdateDto(AdFixedAssetDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
String sid = dto.getSid();
if (StringUtils.isBlank(sid)) {
// 新建操作
AdFixedAsset entity = new AdFixedAsset();
BeanUtil.copyProperties(dto, entity, "sid");
baseMapper.insert(entity);
sid = entity.getSid();
} else {
// 更新操作
AdFixedAsset entity = fetchBySid(sid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
return rb.success().setData(sid);
}
public AdFixedAssetVo fetchDetailsVoBySid(String sid) {
AdFixedAsset entity = fetchBySid(sid);
AdFixedAssetVo vo = new AdFixedAssetVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
}

59
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedasset/AdFixedAssetVo.java

@ -0,0 +1,59 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfixedasset;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "驻外人员认定申请 视图数据对象", description = "驻外人员认定申请 视图数据对象")
public class AdFixedAssetVo implements Vo {
private String sid;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("固定资产名称")
private String assetName; // 固定资产名称
@ApiModelProperty("编号")
private String assetNumber; // 编号
@ApiModelProperty("单位")
private String unit; // 单位
@ApiModelProperty("规格")
private String specification; // 规格
@ApiModelProperty("固定资产类别key")
private String assetTypeKey; // 固定资产类别key
@ApiModelProperty("固定资产类别")
private String assetTypeValue; // 固定资产类别
}

62
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedassetledger/AdFixedAssetLedger.java

@ -0,0 +1,62 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfixedassetledger;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel(value = "固定资产台账", description = "固定资产台账")
@TableName("ad_fixed_asset_ledger")
public class AdFixedAssetLedger extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("固定资产名称")
private String assetName; // 固定资产名称
@ApiModelProperty("编号")
private String assetNumber; // 编号
@ApiModelProperty("单位")
private String unit; // 单位
@ApiModelProperty("规格")
private String specification; // 规格
@ApiModelProperty("固定资产类别key")
private String assetTypeKey; // 固定资产类别key
@ApiModelProperty("固定资产类别")
private String assetTypeValue; // 固定资产类别
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 使用组织sid
@ApiModelProperty("数量")
private BigDecimal num; // 数量
@ApiModelProperty("采购单价")
private BigDecimal price; // 采购单价
}

66
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedassetledger/AdFixedAssetLedgerDto.java

@ -0,0 +1,66 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfixedassetledger;
import com.yxt.anrui.oa.biz.oaform.OaFormDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "固定资产台账 数据传输对象", description = "固定资产台账 数据传输对象")
public class AdFixedAssetLedgerDto extends OaFormDto {
private String sid; // sid
@ApiModelProperty("固定资产名称")
private String assetName; // 固定资产名称
@ApiModelProperty("编号")
private String assetNumber; // 编号
@ApiModelProperty("单位")
private String unit; // 单位
@ApiModelProperty("规格")
private String specification; // 规格
@ApiModelProperty("固定资产类别key")
private String assetTypeKey; // 固定资产类别key
@ApiModelProperty("固定资产类别")
private String assetTypeValue; // 固定资产类别
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 使用组织sid
@ApiModelProperty("数量")
private String num; // 数量
@ApiModelProperty("采购单价")
private String price; // 采购单价
@ApiModelProperty("备注")
private String remarks;
}

44
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedassetledger/AdFixedAssetLedgerMapper.java

@ -0,0 +1,44 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfixedassetledger;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface AdFixedAssetLedgerMapper extends BaseMapper<AdFixedAssetLedger> {
IPage<AdFixedAssetLedgerVo> selectPageVo(IPage<AdFixedAssetLedger> page, @Param(Constants.WRAPPER) Wrapper<AdFixedAssetLedger> qw);
}

12
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedassetledger/AdFixedAssetLedgerMapper.xml

@ -0,0 +1,12 @@
<?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">
<mapper namespace="com.yxt.anrui.oa.biz.adfixedassetledger.AdFixedAssetLedgerMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.oa.biz.adfixedassetledger.AdFixedAssetLedgerVo">
SELECT * from ad_fixed_asset_ledger
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

67
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedassetledger/AdFixedAssetLedgerQuery.java

@ -0,0 +1,67 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfixedassetledger;
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 AdFixedAssetLedgerQuery implements Query {
@ApiModelProperty("固定资产名称")
private String assetName; // 固定资产名称
@ApiModelProperty("编号")
private String assetNumber; // 编号
@ApiModelProperty("单位")
private String unit; // 单位
@ApiModelProperty("规格")
private String specification; // 规格
@ApiModelProperty("固定资产类别key")
private String assetTypeKey; // 固定资产类别key
@ApiModelProperty("固定资产类别")
private String assetTypeValue; // 固定资产类别
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 使用组织sid
}

94
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedassetledger/AdFixedAssetLedgerService.java

@ -0,0 +1,94 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfixedassetledger;
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.oaappendix.OaAppendixService;
import com.yxt.anrui.oa.biz.oaform.OaFormService;
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.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class AdFixedAssetLedgerService extends MybatisBaseService<AdFixedAssetLedgerMapper, AdFixedAssetLedger> {
@Autowired
private OaAppendixService oaAppendixService;
@Autowired
private OaFormService oaFormService;
public PagerVo<AdFixedAssetLedgerVo> listPageVo(PagerQuery<AdFixedAssetLedgerQuery> pq) {
AdFixedAssetLedgerQuery query = pq.getParams();
QueryWrapper<AdFixedAssetLedger> qw = new QueryWrapper<>();
if (query != null) {
if (StringUtils.isNotBlank(query.getAssetName())) {
qw.like("assetName", query.getAssetName());
}
if (StringUtils.isNotBlank(query.getAssetNumber())) {
qw.like("assetNumber", query.getAssetNumber());
}
}
IPage<AdFixedAssetLedger> page = PagerUtil.queryToPage(pq);
IPage<AdFixedAssetLedgerVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<AdFixedAssetLedgerVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean<String> saveOrUpdateDto(AdFixedAssetLedgerDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
String sid = dto.getSid();
if (StringUtils.isBlank(sid)) {
// 新建操作
AdFixedAssetLedger entity = new AdFixedAssetLedger();
BeanUtil.copyProperties(dto, entity, "sid");
baseMapper.insert(entity);
sid = entity.getSid();
} else {
// 更新操作
AdFixedAssetLedger entity = fetchBySid(sid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
return rb.success().setData(sid);
}
public AdFixedAssetLedgerVo fetchDetailsVoBySid(String sid) {
AdFixedAssetLedger entity = fetchBySid(sid);
AdFixedAssetLedgerVo vo = new AdFixedAssetLedgerVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
}

68
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfixedassetledger/AdFixedAssetLedgerVo.java

@ -0,0 +1,68 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfixedassetledger;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "固定资产台账 视图数据对象", description = "固定资产台账 视图数据对象")
public class AdFixedAssetLedgerVo implements Vo {
private String sid;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("固定资产名称")
private String assetName; // 固定资产名称
@ApiModelProperty("编号")
private String assetNumber; // 编号
@ApiModelProperty("单位")
private String unit; // 单位
@ApiModelProperty("规格")
private String specification; // 规格
@ApiModelProperty("固定资产类别key")
private String assetTypeKey; // 固定资产类别key
@ApiModelProperty("固定资产类别")
private String assetTypeValue; // 固定资产类别
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 使用组织sid
@ApiModelProperty("数量")
private String num; // 数量
@ApiModelProperty("采购单价")
private String price; // 采购单价
}

20
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApply.java

@ -0,0 +1,20 @@
package com.yxt.anrui.oa.biz.hrhireapply;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/16
**/
@Data
public class HrHireApply extends BaseEntity {
private static final long serialVersionUID = 3495800881939563210L;
@ApiModelProperty("是否是财务")
private String isFinanceKey;
private String isFinanceValue;
private String formSid;
}

24
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyDto.java

@ -0,0 +1,24 @@
package com.yxt.anrui.oa.biz.hrhireapply;
import com.yxt.anrui.oa.biz.hrhiredetails.HrHireDetailsDto;
import com.yxt.anrui.oa.biz.oaform.OaFormDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/16
**/
@Data
public class HrHireApplyDto extends OaFormDto {
private static final long serialVersionUID = 4255707952292859284L;
private String userSid;
@ApiModelProperty("是否是财务")
private String isFinanceKey;
private String isFinanceValue;
private List<HrHireDetailsDto> list = new ArrayList<>();
}

13
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyMapper.java

@ -0,0 +1,13 @@
package com.yxt.anrui.oa.biz.hrhireapply;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/16
**/
@Mapper
public interface HrHireApplyMapper extends BaseMapper<HrHireApply> {
}

4
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyMapper.xml

@ -0,0 +1,4 @@
<?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">
<mapper namespace="com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyMapper">
</mapper>

177
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyService.java

@ -0,0 +1,177 @@
package com.yxt.anrui.oa.biz.hrhireapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.oa.biz.hrhiredetails.HrHireDetailsDto;
import com.yxt.anrui.oa.biz.hrhiredetails.HrHireDetailsService;
import com.yxt.anrui.oa.biz.hrhiredetails.HrHireDetailsVo;
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.OaFormService;
import com.yxt.anrui.oa.biz.oaform.flowable.SubmitDto;
import com.yxt.anrui.oa.biz.oaform.flowable.TaskDto;
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 com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.result.ResultBean;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/16
**/
@Service
public class HrHireApplyService extends MybatisBaseService<HrHireApplyMapper, HrHireApply> {
@Autowired
private OaFormService oaFormService;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private HrHireDetailsService hiHireDetailsService;
@Autowired
private OaAppendixService oaAppendixService;
public ResultBean<HrHireApplyVo> getSaveInit(String userSid, String orgPath) {
ResultBean<HrHireApplyVo> rb = ResultBean.fireFail();
HrHireApplyVo hrHireApplyVo = new HrHireApplyVo();
hrHireApplyVo.setUserSid(userSid);
hrHireApplyVo.setOrgPath(orgPath);
return rb.success().setData(hrHireApplyVo);
}
public ResultBean<HrHireApplyVo> getUpdateInit(String sid) {
ResultBean<HrHireApplyVo> rb = ResultBean.fireFail();
HrHireApplyVo hrHireApplyVo = new HrHireApplyVo();
HrHireApply hrHireApply = fetchBySid(sid);
if (hrHireApply == null) {
return rb.setMsg("该申请不存在");
}
OaForm oaForm = oaFormService.fetchBySid(sid);
//根据部门sid获取orgPath并赋值
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData();
String orgSidPath = organizationVo.getOrgSidPath();
hrHireApplyVo.setOrgPath(orgSidPath);
hrHireApplyVo.setUserSid(oaForm.getCreateBySid());
BeanUtil.copyProperties(hrHireApply, hrHireApplyVo);
FormCommon isFinanceObj = FormCommon.of(hrHireApply.getIsFinanceKey(), hrHireApply.getIsFinanceValue());
hrHireApplyVo.setIsFinanceObj(isFinanceObj);
List<HrHireDetailsVo> list = hiHireDetailsService.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);
FormCommon educationObj = FormCommon.of(details.getEducationKey(), details.getEducationValue());
details.setEducationObj(educationObj);
List<String> files = oaAppendixService.selectByLinkSid(details.getSid());
details.setFiles(files);
});
}
hrHireApplyVo.setList(list);
hrHireApplyVo.setSid(sid);
return rb.success().setData(hrHireApplyVo);
}
public ResultBean<String> saveOrUpdateDto(HrHireApplyDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
String sid = dto.getSid();
List<HrHireDetailsDto> list = dto.getList();
if (StringUtils.isBlank(sid)) {
// 新建操作
HrHireApply entity = new HrHireApply();
BeanUtil.copyProperties(dto, entity, "sid");
dto.setBillNo("ZPXQ");
dto.setSid(entity.getSid());
dto.setCreateBySid(dto.getUserSid());
ResultBean<String> resultBean = oaFormService.saveOaForm(dto);
if (!resultBean.getSuccess()) {
return rb;
}
entity.setFormSid(resultBean.getData());
entity.setCreateBySid(dto.getUserSid());
baseMapper.insert(entity);
sid = entity.getSid();
} else {
// 更新操作
HrHireApply entity = fetchBySid(sid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
hiHireDetailsService.saveDetails(list, sid);
return rb.success().setData(sid);
}
/**
* 提交
*
* @param dto
* @return
*/
public ResultBean submit(HrHireApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
ResultBean<String> stringResultBean = saveOrUpdateDto(dto);
if (!stringResultBean.getSuccess()) {
return rb.setMsg(stringResultBean.getData());
}
String businessSid = stringResultBean.getData();
SubmitDto submitDto = new SubmitDto();
submitDto.setUserSid(dto.getCreateBySid());
submitDto.setBusinessSid(businessSid);
Map<String, Object> formVariables = new HashMap<>();
formVariables = getMap(formVariables, businessSid);
submitDto.setFormVariables(formVariables);
submitDto.setProcDefId(ProcDefEnum.HIHIREAPPLY.getProDefId());
submitDto.setNextTaskId(dto.getTaskId());
submitDto.setRule(OaFormRuleEnum.DIRECTLY_UNDER.getRule());
return oaFormService.submit(submitDto);
}
/**
* 驳回
*
* @param dto
* @return
*/
public ResultBean reject(TaskDto dto) {
Map<String, Object> formVariables = dto.getFormVariables();
formVariables = getMap(formVariables, dto.getBusinessSid());
dto.setFormVariables(formVariables);
return oaFormService.reject(dto);
}
public Map<String, Object> getMap(Map<String, Object> formVariables, String sid) {
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", sid);
appMap.put("editUrl", "approval/#/pages/EditOnboradingApplyActivity?sid=" + sid);
appMap.put("detailUrl", "approval/#/pages/DetailOnboradingApplyActivity?sid=" + sid);
formVariables.put("app", appMap);
//根据组织查询是否是分公司
OaForm oaForm = oaFormService.fetchBySid(sid);
HrHireApply hrHireApply = fetchBySid(sid);
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(oaForm.getUseOrgSid()).getData();
//是否是分公司
formVariables.put("isTrue", sysOrganization.getIsDept() == 0);
//是否是财务岗
formVariables.put("isFin", "1".equals(hrHireApply.getIsFinanceKey()));
return formVariables;
}
}

28
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyVo.java

@ -0,0 +1,28 @@
package com.yxt.anrui.oa.biz.hrhireapply;
import com.yxt.anrui.oa.biz.hrhiredetails.HrHireDetailsVo;
import com.yxt.anrui.oa.biz.oaform.FormCommon;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/16
**/
@Data
public class HrHireApplyVo {
private String sid;
private String userSid;
private String orgPath;
@ApiModelProperty("是否是财务")
private FormCommon isFinanceObj;
private String isFinanceKey;
private String isFinanceValue;
private List<HrHireDetailsVo> list = new ArrayList<>();
}

41
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhiredetails/HrHireDetails.java

@ -0,0 +1,41 @@
package com.yxt.anrui.oa.biz.hrhiredetails;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/16
**/
@Data
public class HrHireDetails extends BaseEntity {
private static final long serialVersionUID = 4980172913356706485L;
@ApiModelProperty("主表sid")
private String mainSid;
@ApiModelProperty("招聘部门sid")
private String deptSid;
@ApiModelProperty("招聘部门名称")
private String deptName;
@ApiModelProperty("招聘岗位sid")
private String postSid;
@ApiModelProperty("招聘岗位名称")
private String postName;
@ApiModelProperty("招聘人数")
private Integer memberCount;
@ApiModelProperty("学历key")
private String educationKey;
@ApiModelProperty("学历value")
private String educationValue;
@ApiModelProperty("薪资待遇")
private String formalWages;
@ApiModelProperty("职位福利")
private String benefits;
@ApiModelProperty("职位描述")
private String describes;
@ApiModelProperty("任职要求")
private String demand;
@ApiModelProperty("工作地址")
private String address;
}

45
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhiredetails/HrHireDetailsDto.java

@ -0,0 +1,45 @@
package com.yxt.anrui.oa.biz.hrhiredetails;
import com.yxt.anrui.oa.biz.oaform.FormCommon;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/17
**/
@Data
public class HrHireDetailsDto {
@ApiModelProperty("招聘部门")
private FormCommon deptObj;
private String deptKey;
private String deptValue;
@ApiModelProperty("招聘岗位")
private FormCommon jobObj;
private String jobKey;
private String jobValue;
@ApiModelProperty("人数")
private String memberCount;
@ApiModelProperty("学历")
private FormCommon educationObj;
private String educationKey;
private String educationValue;
@ApiModelProperty("薪资待遇")
private String formalWages;
@ApiModelProperty("职位福利")
private String benefits;
@ApiModelProperty("职位描述")
private String describes;
@ApiModelProperty("职位要求")
private String demand;
@ApiModelProperty("地址")
private String address;
private String remarks;
private List<String> files = new ArrayList<>();
}

18
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhiredetails/HrHireDetailsMapper.java

@ -0,0 +1,18 @@
package com.yxt.anrui.oa.biz.hrhiredetails;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/17
**/
@Mapper
public interface HrHireDetailsMapper extends BaseMapper<HrHireDetails> {
List<HrHireDetailsVo> getUpdateInit(String sid);
List<HrHireDetails> selectByMainSid(String sid);
}

28
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhiredetails/HrHireDetailsMapper.xml

@ -0,0 +1,28 @@
<?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">
<mapper namespace="com.yxt.anrui.oa.biz.hrhiredetails.HrHireDetailsMapper">
<select id="getUpdateInit" resultType="com.yxt.anrui.oa.biz.hrhiredetails.HrHireDetailsVo">
select deptSid deptKey,
deptName deptValue,
postSid jobKey,
postName jobValue,
memberCount,
educationKey,
educationValue,
formalWages,
benefits,
describes,
demand,
address,
sid,
remarks
from hr_hire_details
where mainSid = #{sid}
</select>
<select id="selectByMainSid" resultType="com.yxt.anrui.oa.biz.hrhiredetails.HrHireDetails">
select *
from hr_hire_details
where mainSid = #{sid}
</select>
</mapper>

66
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhiredetails/HrHireDetailsService.java

@ -0,0 +1,66 @@
package com.yxt.anrui.oa.biz.hrhiredetails;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.oa.biz.oaappendix.OaAppendixMapper;
import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService;
import com.yxt.anrui.oa.feign.file.OaFileEnum;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/17
**/
@Service
public class HrHireDetailsService extends MybatisBaseService<HrHireDetailsMapper, HrHireDetails> {
@Autowired
private OaAppendixMapper oaAppendixMapper;
@Autowired
private OaAppendixService oaAppendixService;
public List<HrHireDetailsVo> getUpdateInit(String sid) {
return baseMapper.getUpdateInit(sid);
}
public void saveDetails(List<HrHireDetailsDto> list, String sid) {
//根据sid查询明细并删除
List<HrHireDetails> list2 = baseMapper.selectByMainSid(sid);
list2.removeAll(Collections.singleton(null));
if (!list2.isEmpty()) {
list2.stream().forEach(v -> {
oaAppendixMapper.deleteByLinkSid(v.getSid());
deleteBySid(v.getSid());
});
}
list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
list.stream().forEach(details -> {
HrHireDetails hrHireDetails = new HrHireDetails();
BeanUtil.copyProperties(details, hrHireDetails);
hrHireDetails.setDeptSid(details.getDeptKey());
hrHireDetails.setDeptName(details.getDeptValue());
hrHireDetails.setPostSid(details.getJobKey());
hrHireDetails.setPostName(details.getJobValue());
hrHireDetails.setMainSid(sid);
baseMapper.insert(hrHireDetails);
List<String> files = details.getFiles();
// 处理附件
saveFiles(hrHireDetails.getSid(), files, OaFileEnum.HIHIREAPPLY.getAttachType(), "文件");
});
}
}
// 保存文件
private void saveFiles(String sid, List<String> files, String attachType, String fileType) {
files.removeAll(Collections.singleton(null));
oaAppendixService.saveFile(sid, files, attachType, fileType);
}
}

48
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhiredetails/HrHireDetailsVo.java

@ -0,0 +1,48 @@
package com.yxt.anrui.oa.biz.hrhiredetails;
import com.yxt.anrui.oa.biz.oaform.FormCommon;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/16
**/
@Data
public class HrHireDetailsVo implements Vo {
private static final long serialVersionUID = -3330232160961910852L;
private String sid;
@ApiModelProperty("招聘部门")
private FormCommon deptObj;
private String deptKey;
private String deptValue;
@ApiModelProperty("招聘岗位")
private FormCommon jobObj;
private String jobKey;
private String jobValue;
@ApiModelProperty("人数")
private String memberCount;
@ApiModelProperty("学历")
private FormCommon educationObj;
private String educationKey;
private String educationValue;
@ApiModelProperty("薪资待遇")
private String formalWages;
@ApiModelProperty("职位福利")
private String benefits;
@ApiModelProperty("职位描述")
private String describes;
@ApiModelProperty("职位要求")
private String demand;
@ApiModelProperty("地址")
private String address;
@ApiModelProperty("备注")
private String remarks;
private List<String> files = new ArrayList<>();
}

12
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/Extra.java

@ -0,0 +1,12 @@
package com.yxt.anrui.oa.biz.oaform;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/16
**/
@Data
public class Extra {
}

25
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/FormCommon.java

@ -0,0 +1,25 @@
package com.yxt.anrui.oa.biz.oaform;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/16
**/
@Data
public class FormCommon {
private String id;
private String dictValue;
private Extra extra;
// 静态方法,直接通过方法创建对象并赋值
public static FormCommon of(String id, String dictValue) {
FormCommon formCommon = new FormCommon();
formCommon.setId(id);
formCommon.setDictValue(dictValue);
return formCommon;
}
}

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

@ -20,7 +20,7 @@ public class OaFormDto implements Dto {
@ApiModelProperty("创建人sid")
private String createBySid;
@ApiModelProperty("组织机构全路径")
private String orgSidPath;
private String orgPath;
@ApiModelProperty("申请单编号的字母")
private String billNo;
@ApiModelProperty("sid")

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

@ -75,10 +75,11 @@ public class OaFormService extends MybatisBaseService<OaFormMapper, OaForm> {
// 创建OA表单对象
OaForm oaForm = new OaForm();
// 将DTO中部分属性复制到oaForm中,忽略不需要的字段(如billNo, orgSidPath)
BeanUtil.copyProperties(dto, oaForm, "billNo", "orgSidPath");
BeanUtil.copyProperties(dto, oaForm, "billNo", "orgPath");
try {
String orgSidPath = dto.getOrgPath();
// 获取组织信息,根据orgSidPath字段调用外部服务
OrgVo orgVo = sysOrganizationFeign.getOrgByPath(dto.getOrgSidPath()).getData();
OrgVo orgVo = sysOrganizationFeign.getOrgByPath(orgSidPath).getData();
// 如果组织信息为空,返回失败信息
if (orgVo == null) {
return rb.setMsg("未找到对应的组织信息");

1
yxt-oa/src/main/java/com/yxt/anrui/oa/feign/file/OaFileEnum.java

@ -10,6 +10,7 @@ public enum OaFileEnum {
OALEAVEAPPLY("001", "请假申请附件"),
OAMENDAPPLY("002", "补卡申请附件"),
ADEXPATRIATESAPPLY("003", "驻外人员认定附件"),
HIHIREAPPLY("004", "招聘需求附件"),
;

1
yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java

@ -9,6 +9,7 @@ public enum ProcDefEnum {
/***************************正式流程id***********************************/
OALEAVEAPPLY("请假申请", "process_su0yph7n:1:15957504"),
OAMENDAPPLY("补卡申请", "process_9suucr96:1:16072504"),
HIHIREAPPLY("招聘需求", "process_zy0m4jrp:1:16802504"),
;

Loading…
Cancel
Save