af409b3c 张雷

feat(ajh): 添加人员培训记录接口

- 新增 getListByUser 接口,用于获取人员培训记录
- 在 AjhMeetingReceiptMapper 中添加 getPxList 方法,用于查询培训记录
- 在 AjhMeetingReceiptServiceImpl 中实现 getList 方法,用于处理培训记录查询逻辑
- 更新 pom.xml,将 kingtroldata.flow.version 升级到 2.0.9
1 个父辈 a76768e6
......@@ -66,7 +66,7 @@
<aliyun-java-sdk-core.version>3.2.3</aliyun-java-sdk-core.version>
<aliyun-java-sdk-dysmsapi.version>1.0.0</aliyun-java-sdk-dysmsapi.version>
<kingtroldata.core.version>2.0.3</kingtroldata.core.version>
<kingtroldata.flow.version>2.0.7</kingtroldata.flow.version>
<kingtroldata.flow.version>2.0.9</kingtroldata.flow.version>
<flowable.version>6.4.2</flowable.version>
<log4j2.version>2.17.0</log4j2.version>
</properties>
......
package com.skua.modules.ajh.controller;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.bean.BeanUtil;
import com.skua.core.api.ISysBaseAPI;
import com.skua.core.api.vo.LoginUser;
import com.skua.core.api.vo.Result;
......@@ -17,7 +20,9 @@ import com.skua.core.aspect.annotation.AutoLog;
import com.skua.core.context.BaseContextHandler;
import com.skua.core.query.QueryGenerator;
import com.skua.core.util.ConvertUtils;
import com.skua.modules.ajh.entity.AjhEduTrainingRecord;
import com.skua.modules.ajh.entity.AjhMeetingReceipt;
import com.skua.modules.ajh.service.IAjhEduTrainingRecordService;
import com.skua.modules.ajh.service.IAjhMeetingReceiptService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
......@@ -25,6 +30,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.modules.ajh.vo.AjhMeetingReceiptVO;
import com.skua.modules.ajh.vo.MeetingReceiptVO;
import com.skua.modules.ajh.vo.MeetingReceiptWebVO;
import com.skua.modules.biz.IBusinessService;
import com.skua.modules.system.entity.SysDepart;
import com.skua.modules.system.service.ISysDepartService;
import lombok.extern.slf4j.Slf4j;
......@@ -61,6 +67,8 @@ public class AjhMeetingReceiptController {
private ISysBaseAPI iSysBaseAPI;
@Resource
private ISysDepartService departService;
@Autowired
private IBusinessService businessService;
/**
* <pre>
* 分页列表查询
......@@ -354,4 +362,40 @@ public class AjhMeetingReceiptController {
return Result.ok("文件导入失败!");
}
@AutoLog(value = "人员培训记录")
@ApiOperation(value="人员培训记录", notes="人员培训记录")
@GetMapping(value = "/getListByUser")
public Result<Object> getList(AjhEduTrainingRecord ajhEduTrainingRecord,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
Result<Object> result = new Result<Object>();
Page<AjhEduTrainingRecord> page = new Page<AjhEduTrainingRecord>(pageNo, pageSize);
IPage<AjhEduTrainingRecord> pageList = ajhMeetingReceiptService.getList(page,ajhEduTrainingRecord);
// 翻译
Map<String, String> sysUserDictMap = businessService.dictMap("sys_user", null);
Map<String, String> eduTraLxDictMap = businessService.dictMap("edu_tra_lx", null);
// 封装结果
IPage<Map<String, Object>> mapIPage = new Page<>(pageNo, pageSize);
mapIPage.setTotal(pageList.getTotal());
mapIPage.setRecords(pageList.getRecords().stream().map(item -> {
Map<String, Object> map = BeanUtil.beanToMap(item);
List<String> joinUserNameList = new ArrayList<>();
if (item.getJoinUser() != null) {
String[] joinUserIds = item.getJoinUser().split(",");
for (String userId : joinUserIds) {
String userName = sysUserDictMap.get(userId);
if (userName != null) {
joinUserNameList.add(userName);
}
}
}
map.put("joinUser_dictText", String.join(",", joinUserNameList));
map.put("eduTraLx_dictText", eduTraLxDictMap.get(item.getEduTraLx()));
return map;
}).collect(Collectors.toList()));
result.setSuccess(true);
result.setResult(mapIPage);
return result;
}
}
......
......@@ -2,6 +2,7 @@ package com.skua.modules.ajh.mapper;
import java.util.List;
import com.skua.modules.ajh.entity.AjhEduTrainingRecord;
import com.skua.modules.ajh.vo.AjhMeetingReceiptVO;
import org.apache.ibatis.annotations.Param;
import com.skua.modules.ajh.entity.AjhMeetingReceipt;
......@@ -14,4 +15,6 @@ public interface AjhMeetingReceiptMapper extends BaseMapper<AjhMeetingReceipt> {
List<AjhMeetingReceiptVO> getList(@Param("ajhMeetingReceiptVO") AjhMeetingReceiptVO ajhMeetingReceiptVO);
List<AjhEduTrainingRecord> getPxList(@Param("userId") String userId, @Param("eduType") String eduType);
}
......
......@@ -47,4 +47,39 @@
</if>
</select>
<select id="getPxList" resultType="com.skua.modules.ajh.entity.AjhEduTrainingRecord">
SELECT * FROM (
SELECT
LEFT( s.meet_start_time, 10 ) AS edu_tra_date,
s.meet_content AS edu_tra_content,
a.user_count AS join_count,
a.user_ids AS join_user,
'5' AS edu_tra_lx
FROM
ajh_meeting_receipt r
LEFT JOIN ajh_meeting_send s ON s.id = r.meets_id
LEFT JOIN ajh_meeting m ON m.id = s.meet_id
LEFT JOIN ( SELECT meets_id, count( id ) user_count, GROUP_CONCAT( user_id ) user_ids
FROM ajh_meeting_receipt GROUP BY meets_id, depart_id ) a ON a.meets_id = r.meets_id
WHERE
m.meet_category = '1' AND r.user_id = #{userId}
UNION ALL
SELECT
edu_tra_date,
edu_tra_content,
join_count,
join_user,
edu_tra_lx
FROM
ajh_edu_training_record
WHERE
join_user LIKE concat('%',#{userId},'%')
) edu
WHERE
1 = 1
<if test="eduType!=null and eduType!=''">
AND edu.edu_tra_lx = #{eduType}
</if>
</select>
</mapper>
......
......@@ -3,10 +3,13 @@ package com.skua.modules.ajh.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.modules.ajh.entity.AjhEduTrainingRecord;
import com.skua.modules.ajh.entity.AjhMeetingReceipt;
import com.baomidou.mybatisplus.extension.service.IService;
import com.skua.modules.ajh.vo.AjhMeetingReceiptVO;
import java.util.List;
/**
* 会议回执记录表
*/
......@@ -14,4 +17,5 @@ public interface IAjhMeetingReceiptService extends IService<AjhMeetingReceipt> {
IPage<AjhMeetingReceiptVO> get(Page<AjhMeetingReceiptVO> page, AjhMeetingReceiptVO ajhMeetingReceiptVO);
IPage<AjhEduTrainingRecord> getList(Page<AjhEduTrainingRecord> page, AjhEduTrainingRecord ajhEduTrainingRecord);
}
......
......@@ -2,6 +2,7 @@ package com.skua.modules.ajh.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.modules.ajh.entity.AjhEduTrainingRecord;
import com.skua.modules.ajh.entity.AjhMeetingReceipt;
import com.skua.modules.ajh.mapper.AjhMeetingReceiptMapper;
import com.skua.modules.ajh.service.IAjhMeetingReceiptService;
......@@ -12,6 +13,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
......@@ -30,4 +32,13 @@ public class AjhMeetingReceiptServiceImpl extends ServiceImpl<AjhMeetingReceiptM
page.setRecords(list);
return page;
}
@Override
public IPage<AjhEduTrainingRecord> getList(Page<AjhEduTrainingRecord> page, AjhEduTrainingRecord ajhEduTrainingRecord) {
String userId = ajhEduTrainingRecord.getJoinUser();
String eduType = ajhEduTrainingRecord.getEduTraLx();
List<AjhEduTrainingRecord> list = ajhMeetingReceiptMapper.getPxList(userId,eduType);
page.setRecords(list);
return page;
}
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!