fix(erp/timesheet): 修复工时导出数据缺失及优化列表显示

dev
Yangk 8 hours ago
parent 49f376987b
commit c3a3f1223b

@ -1,5 +1,6 @@
package org.dromara.oa.erp.domain.vo;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.oa.erp.domain.ErpTimesheetInfo;
@ -33,7 +34,6 @@ public class ErpTimesheetInfoVo implements Serializable {
/**
* ID
*/
@ExcelProperty(value = "工时填报ID")
private Long timesheetId;
/**
@ -42,53 +42,51 @@ public class ErpTimesheetInfoVo implements Serializable {
@ExcelProperty(value = "工时填报编号")
private String timesheetCode;
/**
*
*/
@ExcelProperty(value = "人员")
private String nickName;
/**
* ID
*/
@ExcelProperty(value = "人员ID", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "填=报人")
private Long userId;
/**
* ID
*/
@ExcelProperty(value = "部门ID")
private Long deptId;
/**
*
*/
@ExcelProperty(value = "起始时间", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "自=然周的周一")
@ExcelProperty(value = "起始时间")
private Date startTime;
/**
*
*/
@ExcelProperty(value = "结束时间", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "自=然周的周日")
@ExcelProperty(value = "结束时间")
private Date endTime;
/**
*
*/
@ExcelProperty(value = "总工时", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "自=动累计")
private Long totalHours;
@ExcelProperty(value = "总工时")
private BigDecimal totalHours;
/**
*
*/
@ExcelProperty(value = "部门工时", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "根=据部门工作自动累计")
private Long deptHours;
@ExcelProperty(value = "部门工时")
private BigDecimal deptHours;
/**
*
*/
@ExcelProperty(value = "项目工时", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "根=据项目工作自动累计")
private Long projectHours;
@ExcelProperty(value = "项目工时")
private BigDecimal projectHours;
/**
* 1 2 3 4

@ -36,8 +36,10 @@ public interface ErpAfterSalesMapper extends BaseMapperPlus<ErpAfterSales, ErpAf
*/
public List<ErpAfterSalesVo> selectCustomErpAfterSalesVoList(@Param(Constants.WRAPPER) MPJLambdaWrapper<ErpAfterSales> queryWrapper);
// 【新增】自定义分页查询,为了关联出多选的名字
// 自定义分页查询,关联出多选的名字
Page<ErpAfterSalesVo> selectCustomVoPage(@Param("page") Page<ErpAfterSalesVo> page, @Param("ew") Wrapper<ErpAfterSales> wrapper);
List<ErpAfterSalesVo> selectCustomVoList(@Param("ew") Wrapper<ErpAfterSales> wrapper);
}

@ -1,6 +1,8 @@
package org.dromara.oa.erp.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -34,4 +36,11 @@ public interface ErpTimesheetInfoMapper extends BaseMapperPlus<ErpTimesheetInfo,
*/
public List<ErpTimesheetInfoVo> selectCustomErpTimesheetInfoVoList(@Param(Constants.WRAPPER) MPJLambdaWrapper<ErpTimesheetInfo> queryWrapper);
// 自定义分页查询,关联出多选的名字
Page<ErpTimesheetInfoVo> selectCustomVoPage(@Param("page") Page<ErpTimesheetInfoVo> page, @Param("ew") Wrapper<ErpTimesheetInfo> wrapper);
//导出列表
List<ErpTimesheetInfoVo> selectCustomVoList(@Param("ew") Wrapper<ErpTimesheetInfo> wrapper);
}

@ -116,7 +116,8 @@ public class ErpAfterSalesServiceImpl implements IErpAfterSalesService {
@Override
public List<ErpAfterSalesVo> queryList(ErpAfterSalesBo bo) {
MPJLambdaWrapper<ErpAfterSales> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
// return baseMapper.selectVoList(lqw);
return baseMapper.selectCustomVoList(lqw);
}
private MPJLambdaWrapper<ErpAfterSales> buildQueryWrapper(ErpAfterSalesBo bo) {

@ -95,7 +95,8 @@ public class ErpTimesheetInfoServiceImpl implements IErpTimesheetInfoService {
@Override
public TableDataInfo<ErpTimesheetInfoVo> queryPageList(ErpTimesheetInfoBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<ErpTimesheetInfo> lqw = buildQueryWrapper(bo);
Page<ErpTimesheetInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
// Page<ErpTimesheetInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
Page<ErpTimesheetInfoVo> result = baseMapper.selectCustomVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@ -108,7 +109,9 @@ public class ErpTimesheetInfoServiceImpl implements IErpTimesheetInfoService {
@Override
public List<ErpTimesheetInfoVo> queryList(ErpTimesheetInfoBo bo) {
MPJLambdaWrapper<ErpTimesheetInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
// return baseMapper.selectVoList(lqw);
return baseMapper.selectCustomVoList(lqw);
}
private MPJLambdaWrapper<ErpTimesheetInfo> buildQueryWrapper(ErpTimesheetInfoBo bo) {

@ -35,4 +35,28 @@
${ew.customSqlSegment}
</select>
<select id="selectCustomVoList" resultType="org.dromara.oa.erp.domain.vo.ErpAfterSalesVo">
SELECT
t.*,
-- 1. 翻译客户干系人 (crm_customer_contact 表)
(
SELECT GROUP_CONCAT(c.contact_name SEPARATOR ', ')
FROM crm_customer_contact c
WHERE FIND_IN_SET(c.contact_id, t.stakeholder_id)
) AS stakeholderName,
-- 2. 翻译处理人 (sys_user 表)
(
SELECT GROUP_CONCAT(u.nick_name SEPARATOR ', ')
FROM sys_user u
WHERE FIND_IN_SET(u.user_id, t.handler_id)
) AS handlerName,
c.contract_code AS contractCode
FROM erp_after_sales t
left join erp_contract_info c on t.contract_id = c.contract_id
${ew.customSqlSegment}
</select>
</mapper>

@ -11,4 +11,21 @@
${ew.getCustomSqlSegment}
</select>
<select id="selectCustomVoPage" resultType="org.dromara.oa.erp.domain.vo.ErpTimesheetInfoVo">
SELECT
t.*,
u.nick_name
FROM erp_timesheet_info t
LEFT JOIN sys_user u ON t.user_id = u.user_id
${ew.customSqlSegment}
</select>
<select id="selectCustomVoList" resultType="org.dromara.oa.erp.domain.vo.ErpTimesheetInfoVo">
SELECT t.*,
u.nick_name
FROM erp_timesheet_info t
LEFT JOIN sys_user u ON t.user_id = u.user_id
${ew.customSqlSegment}
</select>
</mapper>

Loading…
Cancel
Save