流程+任务分发+报销功能完成
This commit is contained in:
@@ -1,12 +1,14 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* 差旅费报销对象 sys_oa_claim
|
||||
@@ -41,10 +43,14 @@ public class SysOaClaim extends BaseEntity {
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date startTime;
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date endTime;
|
||||
/**
|
||||
* 出差天数
|
||||
@@ -74,6 +80,12 @@ public class SysOaClaim extends BaseEntity {
|
||||
/**
|
||||
* 报销时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date completedTime;
|
||||
/**
|
||||
* 出差地点
|
||||
*/
|
||||
private String address;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* 报销明细对象 sys_oa_claim_detail
|
||||
@@ -37,10 +39,14 @@ public class SysOaClaimDetail extends BaseEntity {
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date beginTime;
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date endTime;
|
||||
/**
|
||||
* 入住地点
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.oa.domain.SysOaClaimDetail;
|
||||
import com.ruoyi.oa.domain.SysOaFile;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
@@ -11,6 +13,7 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* 差旅费报销业务对象 sys_oa_claim
|
||||
@@ -46,11 +49,15 @@ public class SysOaClaimBo extends BaseEntity {
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date startTime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date endTime;
|
||||
|
||||
/**
|
||||
@@ -72,6 +79,10 @@ public class SysOaClaimBo extends BaseEntity {
|
||||
* 关联项目
|
||||
*/
|
||||
private Long projectId;
|
||||
/**
|
||||
* 关联项目
|
||||
*/
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 关联流程id
|
||||
@@ -81,6 +92,8 @@ public class SysOaClaimBo extends BaseEntity {
|
||||
/**
|
||||
* 报销时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date completedTime;
|
||||
|
||||
/**
|
||||
@@ -88,5 +101,10 @@ public class SysOaClaimBo extends BaseEntity {
|
||||
*/
|
||||
private List<SysOaClaimDetailBo> claimDetailList;
|
||||
|
||||
/**
|
||||
* 文件列表
|
||||
*/
|
||||
private List<SysOaFileBo> fileList;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
@@ -9,6 +10,7 @@ import javax.validation.constraints.*;
|
||||
import java.util.Date;
|
||||
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* 报销明细业务对象 sys_oa_claim_detail
|
||||
@@ -24,61 +26,55 @@ public class SysOaClaimDetailBo extends BaseEntity {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
|
||||
private Long claimDetailId;
|
||||
|
||||
/**
|
||||
* 外键id
|
||||
*/
|
||||
@NotNull(message = "外键id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long claimId;
|
||||
|
||||
/**
|
||||
* 报销类型
|
||||
*/
|
||||
@NotNull(message = "报销类型不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long claimType;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@NotNull(message = "开始时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date beginTime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@NotNull(message = "结束时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date endTime;
|
||||
|
||||
/**
|
||||
* 入住地点
|
||||
*/
|
||||
@NotBlank(message = "入住地点不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String lodgingAddress;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 文件id列表
|
||||
*/
|
||||
@NotBlank(message = "文件id列表不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String fileIds;
|
||||
|
||||
/**
|
||||
* 报销金额
|
||||
*/
|
||||
@NotNull(message = "报销金额不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Double cost;
|
||||
|
||||
/**
|
||||
* 报销金额大写
|
||||
*/
|
||||
@NotBlank(message = "报销金额大写不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String bigCost;
|
||||
|
||||
|
||||
|
||||
@@ -26,25 +26,21 @@ public class SysOaFileBo extends BaseEntity {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
|
||||
private Long fileId;
|
||||
|
||||
/**
|
||||
* 文件存储路径
|
||||
*/
|
||||
@NotBlank(message = "文件存储路径不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String fileUrl;
|
||||
|
||||
/**
|
||||
* 文件类型0打卡1出入库
|
||||
*/
|
||||
@NotNull(message = "文件类型0打卡1出入库不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long status;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String remark;
|
||||
|
||||
|
||||
|
||||
@@ -4,9 +4,11 @@ import java.util.Date;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
|
||||
/**
|
||||
@@ -43,12 +45,16 @@ public class SysOaClaimDetailVo {
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@ExcelProperty(value = "开始时间")
|
||||
private Date beginTime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@ExcelProperty(value = "结束时间")
|
||||
private Date endTime;
|
||||
|
||||
|
||||
@@ -5,9 +5,11 @@ import java.util.List;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.oa.domain.SysOaClaim;
|
||||
import com.ruoyi.oa.domain.SysOaFile;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
|
||||
/**
|
||||
@@ -49,12 +51,16 @@ public class SysOaClaimVo extends SysOaClaim {
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@ExcelProperty(value = "开始时间")
|
||||
private Date startTime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@ExcelProperty(value = "结束时间")
|
||||
private Date endTime;
|
||||
|
||||
@@ -91,6 +97,8 @@ public class SysOaClaimVo extends SysOaClaim {
|
||||
/**
|
||||
* 报销时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@ExcelProperty(value = "报销时间")
|
||||
private Date completedTime;
|
||||
|
||||
@@ -109,4 +117,13 @@ public class SysOaClaimVo extends SysOaClaim {
|
||||
*/
|
||||
private Long status;
|
||||
|
||||
/**
|
||||
* 关联项目
|
||||
*/
|
||||
private String projectName;
|
||||
/**
|
||||
* 出差地点
|
||||
*/
|
||||
private String address;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
package com.ruoyi.oa.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.oa.domain.SysOaClaim;
|
||||
import com.ruoyi.oa.domain.vo.SysOaClaimVo;
|
||||
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 差旅费报销Mapper接口
|
||||
@@ -16,5 +20,7 @@ public interface SysOaClaimMapper extends BaseMapperPlus<SysOaClaimMapper, SysOa
|
||||
|
||||
SysOaClaimVo selectSysOaClaimVoById(Long claimId);
|
||||
|
||||
Page<SysOaClaimVo> selectPageVo(Page<Object> build, LambdaQueryWrapper<SysOaClaim> lqw);
|
||||
Page<SysOaClaimVo> selectPageVo(Page<Object> build, @Param(Constants.WRAPPER) Wrapper<SysOaClaim> lqw);
|
||||
|
||||
SysOaClaimVo selectSysOaClaimVoByProcInsId(String procInsId);
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.ruoyi.oa.domain.bo.SysOaClaimBo;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
@@ -45,4 +46,11 @@ public interface ISysOaClaimService {
|
||||
* 校验并批量删除差旅费报销信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 查询报销表单
|
||||
* @param procInsId 实例id
|
||||
* @return vo对象
|
||||
*/
|
||||
SysOaClaimVo queryByProcInsId(String procInsId);
|
||||
}
|
||||
|
||||
@@ -46,4 +46,6 @@ public interface ISysOaFileService {
|
||||
* 校验并批量删除文件存储信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
Long insertByBoReturnId(SysOaFileBo bo);
|
||||
}
|
||||
|
||||
@@ -8,9 +8,10 @@ import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.oa.domain.SysOaClaimDetail;
|
||||
import com.ruoyi.oa.domain.bo.SysOaClaimDetailBo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaFileBo;
|
||||
import com.ruoyi.oa.service.ISysOaClaimDetailService;
|
||||
import com.ruoyi.oa.service.ISysOaFileService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -20,6 +21,8 @@ import com.ruoyi.oa.domain.SysOaClaim;
|
||||
import com.ruoyi.oa.mapper.SysOaClaimMapper;
|
||||
import com.ruoyi.oa.service.ISysOaClaimService;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
@@ -39,6 +42,9 @@ public class SysOaClaimServiceImpl implements ISysOaClaimService {
|
||||
@Autowired
|
||||
private ISysOaClaimDetailService sysOaClaimDetailService;
|
||||
|
||||
@Autowired
|
||||
private ISysOaFileService sysOaFileService;
|
||||
|
||||
/**
|
||||
* 查询差旅费报销
|
||||
*/
|
||||
@@ -47,11 +53,22 @@ public class SysOaClaimServiceImpl implements ISysOaClaimService {
|
||||
return baseMapper.selectSysOaClaimVoById(claimId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据实例id返回vo
|
||||
* @param procInsId 实例id
|
||||
* @return vo
|
||||
*/
|
||||
@Override
|
||||
public SysOaClaimVo queryByProcInsId(String procInsId) {
|
||||
return baseMapper.selectSysOaClaimVoByProcInsId(procInsId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询差旅费报销列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SysOaClaimVo> queryPageList(SysOaClaimBo bo, PageQuery pageQuery) {
|
||||
bo.setUserId(LoginHelper.getUserId());
|
||||
LambdaQueryWrapper<SysOaClaim> lqw = buildQueryWrapper(bo);
|
||||
Page<SysOaClaimVo> result = baseMapper.selectPageVo(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
@@ -79,6 +96,7 @@ public class SysOaClaimServiceImpl implements ISysOaClaimService {
|
||||
lqw.eq(bo.getProjectId() != null, SysOaClaim::getProjectId, bo.getProjectId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProcInsId()), SysOaClaim::getProcInsId, bo.getProcInsId());
|
||||
lqw.eq(bo.getCompletedTime() != null, SysOaClaim::getCompletedTime, bo.getCompletedTime());
|
||||
lqw.eq(SysOaClaim::getDelFlag, 0L);
|
||||
return lqw;
|
||||
}
|
||||
|
||||
@@ -90,10 +108,26 @@ public class SysOaClaimServiceImpl implements ISysOaClaimService {
|
||||
bo.setUserId(LoginHelper.getUserId());
|
||||
SysOaClaim add = BeanUtil.toBean(bo, SysOaClaim.class);
|
||||
validEntityBeforeSave(add);
|
||||
|
||||
// 处理文件
|
||||
List<Long> fileIds = new ArrayList<>();
|
||||
for (SysOaFileBo sysOaFile : bo.getFileList()) {
|
||||
Long fileId = sysOaFileService.insertByBoReturnId(sysOaFile);
|
||||
fileIds.add(fileId);
|
||||
}
|
||||
String fileIdsString = fileIds.stream()
|
||||
.map(String::valueOf) // 将 Long 转换为 String
|
||||
.reduce((id1, id2) -> id1 + "," + id2) // 合并为一个逗号分隔的字符串
|
||||
.orElse(""); // 如果列表为空,返回空字符串
|
||||
add.setFileIds(fileIdsString);
|
||||
add.setUserId(LoginHelper.getUserId());
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
|
||||
for (SysOaClaimDetailBo sysOaClaimDetail : bo.getClaimDetailList()) {
|
||||
sysOaClaimDetail.setClaimId(add.getClaimId());
|
||||
sysOaClaimDetailService.insertByBo(sysOaClaimDetail);
|
||||
}
|
||||
|
||||
if (flag) {
|
||||
bo.setClaimId(add.getClaimId());
|
||||
}
|
||||
@@ -127,4 +161,6 @@ public class SysOaClaimServiceImpl implements ISysOaClaimService {
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -81,6 +81,21 @@ public class SysOaFileServiceImpl implements ISysOaFileService {
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增文件存储
|
||||
*/
|
||||
@Override
|
||||
public Long insertByBoReturnId(SysOaFileBo bo) {
|
||||
SysOaFile add = BeanUtil.toBean(bo, SysOaFile.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setFileId(add.getFileId());
|
||||
}
|
||||
return add.getFileId();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 修改文件存储
|
||||
*/
|
||||
|
||||
@@ -23,8 +23,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="procInsId" column="proc_ins_id"/>
|
||||
<result property="status" column="status_"/>
|
||||
<result property="completedTime" column="completed_time"/>
|
||||
<result property="projectName" column="project_name"/>
|
||||
<result property="address" column="address"/>
|
||||
<collection property="detailList" javaType="list" resultMap="SysOaClaimDetailResult"/>
|
||||
<collection property="fileList" javaType="list" resultMap="SysOaClaimDetailResult"/>
|
||||
<collection property="fileList" javaType="list" resultMap="SysOaFileResult"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="com.ruoyi.oa.domain.SysOaClaimDetail" id="SysOaClaimDetailResult">
|
||||
@@ -32,16 +34,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="claimId" column="claim_id"/>
|
||||
<result property="claimType" column="claim_type"/>
|
||||
<result property="beginTime" column="begin_time"/>
|
||||
<result property="endTime" column="end_time"/>
|
||||
<result property="endTime" column="detail_end"/>
|
||||
<result property="lodgingAddress" column="lodging_address"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="fileIds" column="file_ids"/>
|
||||
<result property="cost" column="cost"/>
|
||||
<result property="cost" column="detail_cost"/>
|
||||
<result property="bigCost" column="big_cost"/>
|
||||
</resultMap>
|
||||
|
||||
@@ -58,13 +54,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="remark" column="remark"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectSysOaClaimVoById" resultMap="SysOaClaimResult">
|
||||
<select id="selectSysOaClaimVoById" resultMap="SysOaClaimResult" parameterType="Long">
|
||||
SELECT soc.claim_id,
|
||||
soc.user_id,
|
||||
soc.file_ids,
|
||||
soc.remark,
|
||||
soc.start_time,
|
||||
soc.end_time,
|
||||
soc.address,
|
||||
soc.trip_days,
|
||||
soc.cost,
|
||||
soc.detail_number,
|
||||
@@ -81,8 +78,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
status,
|
||||
socd.claim_detail_id,
|
||||
claim_type,
|
||||
begin_time,
|
||||
socd.end_time,
|
||||
socd.begin_time ,
|
||||
socd.end_time as detail_end,
|
||||
socd.lodging_address,
|
||||
socd.create_time,
|
||||
socd.create_by,
|
||||
@@ -91,11 +88,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
socd.del_flag,
|
||||
socd.remark,
|
||||
socd.file_ids,
|
||||
socd.cost,
|
||||
socd.big_cost
|
||||
socd.cost as detail_cost,
|
||||
socd.big_cost,
|
||||
sop.project_name
|
||||
FROM sys_oa_claim soc
|
||||
left join sys_oa_claim_detail socd on soc.claim_id = socd.claim_detail_id
|
||||
left join sys_oa_claim_detail socd on soc.claim_id = socd.claim_id
|
||||
left JOIN sys_oa_file sof ON FIND_IN_SET(sof.file_id, soc.file_ids) > 0
|
||||
left join sys_oa_project sop on soc.project_id = sop.project_id
|
||||
where soc.claim_id = #{claimId}
|
||||
</select>
|
||||
|
||||
<select id="selectPageVo" resultMap="SysOaClaimResult">
|
||||
@@ -109,6 +109,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
soc.cost,
|
||||
soc.detail_number,
|
||||
soc.project_id,
|
||||
soc.address,
|
||||
soc.create_time,
|
||||
soc.create_by,
|
||||
soc.update_time,
|
||||
@@ -116,11 +117,57 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
soc.del_flag,
|
||||
soc.proc_ins_id,
|
||||
soc.completed_time,
|
||||
sop.project_name,
|
||||
IF(ahp.END_TIME_ IS NULL, 0, 1) AS status_
|
||||
FROM sys_oa_claim soc
|
||||
left join ACT_HI_PROCINST ahp on soc.proc_ins_id = ahp.PROC_INST_ID_
|
||||
left join sys_oa_project sop on sop.project_id = soc.project_id
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectSysOaClaimVoByProcInsId" resultMap="SysOaClaimResult" parameterType="String">
|
||||
SELECT soc.claim_id,
|
||||
soc.user_id,
|
||||
soc.file_ids,
|
||||
soc.remark,
|
||||
soc.start_time,
|
||||
soc.end_time,
|
||||
soc.address,
|
||||
soc.trip_days,
|
||||
soc.cost,
|
||||
soc.detail_number,
|
||||
soc.project_id,
|
||||
soc.create_time,
|
||||
soc.create_by,
|
||||
soc.update_time,
|
||||
soc.update_by,
|
||||
soc.del_flag,
|
||||
soc.proc_ins_id,
|
||||
soc.completed_time,
|
||||
sof.file_id,
|
||||
file_url,
|
||||
status,
|
||||
socd.claim_detail_id,
|
||||
claim_type,
|
||||
socd.begin_time ,
|
||||
socd.end_time as detail_end,
|
||||
socd.lodging_address,
|
||||
socd.create_time,
|
||||
socd.create_by,
|
||||
socd.update_time,
|
||||
socd.update_by,
|
||||
socd.del_flag,
|
||||
socd.remark,
|
||||
socd.file_ids,
|
||||
socd.cost as detail_cost,
|
||||
socd.big_cost,
|
||||
sop.project_name
|
||||
FROM sys_oa_claim soc
|
||||
left join sys_oa_claim_detail socd on soc.claim_id = socd.claim_id
|
||||
left JOIN sys_oa_file sof ON FIND_IN_SET(sof.file_id, soc.file_ids) > 0
|
||||
left join sys_oa_project sop on soc.project_id = sop.project_id
|
||||
where soc.proc_ins_id = #{procInsId}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user