diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaFormRest.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaFormRest.java new file mode 100644 index 0000000000..5ce830ec53 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaFormRest.java @@ -0,0 +1,55 @@ +package com.yxt.anrui.oa.api; + +import com.yxt.anrui.oa.biz.oaform.*; +import com.yxt.anrui.oa.biz.oahireapply.OaHireApplyDetailsVo; +import com.yxt.anrui.oa.biz.oamendapply.OaMendApplyQuery; +import com.yxt.anrui.oa.biz.oamendapply.OaMendApplyVo; +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.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @description: 基础表单 + * @author: dimengzhe + * @date: 2025/1/7 + **/ +@RestController +@RequestMapping("v1/oaform") +public class OaFormRest { + + @Autowired + private OaFormService oaFormService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = oaFormService.listPageVo(pq); + return rb.success().setData(pv); + } + + @ApiOperation("新增或修改") + @PostMapping("/save") + ResultBean save(@RequestBody OaFormDto dto) { + return oaFormService.saveOrUpdateForm(dto); + } + + @ApiOperation("根据SID获取一条记录") + @GetMapping("/fetchDetailsBySid/{sid}") + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid) { + return oaFormService.fetchDetailsBySid(sid); + } + + @ApiOperation("根据sid批量删除") + @DeleteMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids) { + ResultBean rb = ResultBean.fireFail(); + oaFormService.delAll(sids); + return rb.success(); + } + + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaForm.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaForm.java index 816c07f872..b155a0f9da 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaForm.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaForm.java @@ -8,14 +8,15 @@ import lombok.Data; import java.util.Date; /** - * @description: + * @description: 基础表单 * @author: dimengzhe * @date: 2025/1/3 **/ @Data public class OaForm extends BaseEntity { private static final long serialVersionUID = 2307297366703765992L; - + @ApiModelProperty("单据编号") + private String billNo; @ApiModelProperty("创建人") private String createByName; @ApiModelProperty("公司sid") @@ -26,7 +27,7 @@ public class OaForm extends BaseEntity { private String deptSid; @ApiModelProperty("部门名称") private String deptName; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty("办结日期") private Date finishTime; @ApiModelProperty("实例id") diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormDetailsVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormDetailsVo.java new file mode 100644 index 0000000000..d8d293ee8b --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormDetailsVo.java @@ -0,0 +1,46 @@ +package com.yxt.anrui.oa.biz.oaform; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/1/7 + **/ +@Data +public class OaFormDetailsVo implements Vo { + private static final long serialVersionUID = -3614379397154106001L; + + private String sid; + + @ApiModelProperty("创建人") + private String createByName; + @ApiModelProperty("公司sid") + private String useOrgSid; + @ApiModelProperty("公司名称") + private String useOrgName; + @ApiModelProperty("部门sid") + private String deptSid; + @ApiModelProperty("部门名称") + private String deptName; + @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("关联审批单") + private String linkFormSids; +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormDto.java new file mode 100644 index 0000000000..23a749626b --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormDto.java @@ -0,0 +1,47 @@ +package com.yxt.anrui.oa.biz.oaform; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/1/7 + **/ +@Data +public class OaFormDto { + + private String sid; + + @ApiModelProperty("创建人") + private String createByName; + @ApiModelProperty("公司sid") + private String useOrgSid; + @ApiModelProperty("公司名称") + private String useOrgName; + @ApiModelProperty("部门sid") + private String deptSid; + @ApiModelProperty("部门名称") + private String deptName; + @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("关联审批单") + private String linkFormSids; +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.java index 54cd580be1..16724ba480 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.java @@ -1,7 +1,11 @@ package com.yxt.anrui.oa.biz.oaform; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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; /** * @description: @@ -10,4 +14,7 @@ import org.apache.ibatis.annotations.Mapper; **/ @Mapper public interface OaFormMapper extends BaseMapper { + OaFormDetailsVo fetchDetailsBySid(String sid); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.xml index ef62a7961f..7446778658 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.xml +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.xml @@ -1,4 +1,18 @@ + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormQuery.java new file mode 100644 index 0000000000..8c30ddb23e --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormQuery.java @@ -0,0 +1,16 @@ +package com.yxt.anrui.oa.biz.oaform; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/1/7 + **/ +@Data +public class OaFormQuery implements Query { + private static final long serialVersionUID = 2329171644870505548L; + + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java index 71b4e90a6f..cbca2f68ca 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java @@ -1,6 +1,19 @@ package com.yxt.anrui.oa.biz.oaform; +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.oahireapply.OaHireApplyDetailsVo; +import com.yxt.anrui.oa.biz.oaleaveapply.OaLeaveApply; +import com.yxt.anrui.oa.biz.oaleaveapply.OaLeaveApplyQuery; +import com.yxt.anrui.oa.biz.oaleaveapply.OaLeaveApplyVo; import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; /** @@ -10,4 +23,43 @@ import org.springframework.stereotype.Service; **/ @Service public class OaFormService extends MybatisBaseService { + public ResultBean saveOrUpdateForm(OaFormDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + if (StringUtils.isBlank(sid)) {//新增 + OaForm oaForm = new OaForm(); + BeanUtil.copyProperties(dto, oaForm, "sid"); + baseMapper.insert(oaForm); + sid = oaForm.getSid(); + } else { + OaForm oaForm = fetchBySid(sid); + BeanUtil.copyProperties(dto, oaForm, "sid"); + baseMapper.updateById(oaForm); + } + return rb.success().setData(sid); + } + + public ResultBean fetchDetailsBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + OaFormDetailsVo detailsVo = baseMapper.fetchDetailsBySid(sid); + if (detailsVo == null) { + return rb.setMsg("该表单不存在"); + } + return rb.success().setData(detailsVo); + } + + public PagerVo listPageVo(PagerQuery pq) { + OaFormQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean delAll(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + delBySids(sids); + return rb.success(); + } } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormVo.java new file mode 100644 index 0000000000..7a6ec9fd57 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormVo.java @@ -0,0 +1,44 @@ +package com.yxt.anrui.oa.biz.oaform; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/1/7 + **/ +@Data +public class OaFormVo { + + private String sid; + + @ApiModelProperty("创建人") + private String createByName; + @ApiModelProperty("公司sid") + private String useOrgSid; + @ApiModelProperty("公司名称") + private String useOrgName; + @ApiModelProperty("部门sid") + private String deptSid; + @ApiModelProperty("部门名称") + private String deptName; + @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("关联审批单") + private String linkFormSids; +}