材料员功能新增优化

This commit is contained in:
mashuai 2025-09-27 23:15:45 +08:00
parent bc7317d324
commit 5e7dcea2d2
10 changed files with 92 additions and 55 deletions

View File

@ -175,4 +175,7 @@ public class ClzDirectApplyInfo extends BaseEntity {
@ApiModelProperty(value = "任务状态列表")
private List<Integer> statusList;
@ApiModelProperty(value = "用户id")
private String userId;
}

View File

@ -18,7 +18,7 @@ public interface ClzDirectMapper {
* 获取直转单号
* @return
*/
List<ClzDirectApplyInfo> getListAll();
Integer getListAll();
/**
* 新增直转申请

View File

@ -129,12 +129,14 @@ public class BmTeamServiceImpl implements BmTeamService {
@Override
public AjaxResult getList(BmTeam tbTeam) {
String username = SecurityUtils.getLoginUser().getUsername();
if (StringUtils.isNotBlank(username)) {
tbTeam.setIdCard(username);
}
List<IwsTeamUserVo> iwsTeamUserVos = new ArrayList<>();
if (StringUtils.isNotBlank(tbTeam.getIdCard())) {
iwsTeamUserVos = iwsTeamUserMapper.selectProjectTeamInfoByIdCard(tbTeam.getIdCard());
if (CollectionUtil.isNotEmpty(iwsTeamUserVos)) {
return AjaxResult.success(iwsTeamUserVos);
}
iwsTeamUserVos = iwsTeamUserMapper.selectProjectTeamInfoByIdCard(tbTeam.getIdCard());
if (CollectionUtil.isNotEmpty(iwsTeamUserVos)) {
return AjaxResult.success(iwsTeamUserVos);
}
// 根据i8工程id查询班组信息
if (StringUtils.isNotBlank(tbTeam.getProjectId())) {

View File

@ -255,8 +255,8 @@ public class ClzDirectServiceImpl implements ClzDirectService {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
Date date = new Date();
String format = simpleDateFormat.format(date);
List<ClzDirectApplyInfo> list = clzDirectMapper.getListAll();
return "ZNZZ" + format + "-" + list.size() + 1;
Integer total = clzDirectMapper.getListAll();
return "ZNZZ" + format + "-" + (total + 1);
}
/**
@ -407,6 +407,7 @@ public class ClzDirectServiceImpl implements ClzDirectService {
*/
private void updateSysWorkflowRecord(WorkflowEvent event) {
SysUser sysUser = SecurityUtils.getLoginUser().getSysUser();
SysWorkflowRecord recordInfo = new SysWorkflowRecord();
int count = 0;
//获取审批流id
SysWorkflowType sysWorkflowType = new SysWorkflowType();
@ -421,21 +422,22 @@ public class ClzDirectServiceImpl implements ClzDirectService {
// 如果该任务类型配置了一个审批流则直接使用
sysWorkflowType = sysWorkflowTypeList.get(0);
// 先根据id查询该数据是否已经存在
SysWorkflowRecord info = sysWorkflowRecordMapper.getWorkflowRecordHistory(sysWorkflowType.getId());
if (info == null) {
sysWorkflowRecord = new SysWorkflowRecord();
sysWorkflowRecord.setWorkflowId(sysWorkflowType.getId());
sysWorkflowRecord.setTaskId(event.getTaskId());
sysWorkflowRecord.setTaskType(event.getTaskType());
sysWorkflowRecord.setTaskCode(event.getTaskCode());
//创建审批任务
count = sysWorkflowRecordMapper.addSysWorkflowRecord(sysWorkflowRecord);
if (0 == count) {
throw new RuntimeException("创建审批任务失败!");
}
} else {
sysWorkflowRecord = info;
recordInfo = sysWorkflowRecordMapper.getWorkflowRecordHistory(event.getTaskId());
// 根据id删除该数据
if (recordInfo != null) {
sysWorkflowRecordMapper.deleteSysWorkflowRecord(event.getTaskId());
}
sysWorkflowRecord = new SysWorkflowRecord();
sysWorkflowRecord.setWorkflowId(sysWorkflowType.getId());
sysWorkflowRecord.setTaskId(event.getTaskId());
sysWorkflowRecord.setTaskType(event.getTaskType());
sysWorkflowRecord.setTaskCode(event.getTaskCode());
//创建审批任务
count = sysWorkflowRecordMapper.addSysWorkflowRecord(sysWorkflowRecord);
if (0 == count) {
throw new RuntimeException("创建审批任务失败!");
}
}
// 获取新创建的ID
int newId = sysWorkflowRecord.getId();
@ -462,10 +464,12 @@ public class ClzDirectServiceImpl implements ClzDirectService {
log.info("退料班组的班组长账号不存在");
}
// 先根据id查询该数据是否已经存在
SysWorkflowRecordHistory info = sysWorkflowRecordHistoryMapper.getHistoryInfo(newId);
if (info != null) {
// 将审核记录删除重新添加
sysWorkflowRecordHistoryMapper.deleteSysWorkflowRecordHistory(newId);
if (recordInfo != null) {
SysWorkflowRecordHistory info = sysWorkflowRecordHistoryMapper.getHistoryInfo(recordInfo.getId());
if (info != null) {
// 将审核记录删除重新添加
sysWorkflowRecordHistoryMapper.deleteSysWorkflowRecordHistory(recordInfo.getId());
}
}
sysWorkflowRecordHistoryMapper.addSysWorkflowRecordHistory(sysWorkflowRecordHistory);
if (count > 0 && CollectionUtils.isNotEmpty(userList)) {
@ -631,9 +635,11 @@ public class ClzDirectServiceImpl implements ClzDirectService {
@Override
public AjaxResult updateDirectSysWorkflowRecordHistory(ClzDirectApplyInfo directApplyInfo) {
Integer isAccept = directApplyInfo.getIsAccept();
String remark = directApplyInfo.getRemark();
// 考虑工单直转参数只有一个id故从后台查询详细数据
directApplyInfo = clzDirectMapper.getInfoDetails(directApplyInfo);
directApplyInfo.setIsAccept(isAccept);
directApplyInfo.setRemark(remark);
SysUser sysUser = SecurityUtils.getLoginUser().getSysUser();
Long userId = sysUser.getUserId();
Integer taskId = directApplyInfo.getId();

View File

@ -278,20 +278,22 @@ public class SelectServiceImpl implements SelectService {
"339", "340", "341", "342", "344", "345", "346", "347",
"348", "349"
));
if (targetUnits.contains(deptId)) {
bmProject.setImpUnit(deptId);
} else {
//判断祖籍是否包含分公司
String ancestors = mapper.getAncestors(deptId);
if (ancestors != null && !ancestors.isEmpty()) {
// 将ancestors转换为集合
String[] parts = ancestors.split(",");
for (String part : parts) {
String trimmedPart = part.trim();
// Check if the trimmed part is in our target set
if (targetUnits.contains(trimmedPart)) {
bmProject.setImpUnit(trimmedPart);
break;
if (teamData == null) {
if (targetUnits.contains(deptId)) {
bmProject.setImpUnit(deptId);
} else {
//判断祖籍是否包含分公司
String ancestors = mapper.getAncestors(deptId);
if (ancestors != null && !ancestors.isEmpty()) {
// 将ancestors转换为集合
String[] parts = ancestors.split(",");
for (String part : parts) {
String trimmedPart = part.trim();
// Check if the trimmed part is in our target set
if (targetUnits.contains(trimmedPart)) {
bmProject.setImpUnit(trimmedPart);
break;
}
}
}
}

View File

@ -23,8 +23,6 @@ public interface SysWorkflowRecordHistoryMapper {
int getLeaseAgreementIdByTaskId(SysWorkflowRecordHistory sysWorkflowRecordHistory);
int getProjectIdById(int leaseAgreementId);
int getBackAgreementIdByTaskId(SysWorkflowRecordHistory sysWorkflowRecordHistory);
String getNowUserIds(SysWorkflowRecordHistory sysWorkflowRecordHistory);

View File

@ -47,4 +47,10 @@ public interface SysWorkflowRecordMapper {
* @return
*/
SysWorkflowRecord getWorkflowRecordHistory(Integer id);
/**
* 删除审批流记录信息
* @param taskId
*/
void deleteSysWorkflowRecord(int taskId);
}

View File

@ -149,15 +149,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
delete from clz_direct_apply_info where id = #{id}
</delete>
<select id="getListAll" resultType="com.bonus.material.clz.domain.direct.ClzDirectApplyInfo">
SELECT
code AS code,
back_man AS backMan,
back_phone AS backPhone
FROM
clz_direct_apply_info
</select>
<select id="getList" resultType="com.bonus.material.clz.domain.direct.ClzDirectApplyInfo">
SELECT * FROM (
SELECT DISTINCT
@ -180,7 +171,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
swrs.next_node_id AS nextNodeId,
swr.id AS recordId,
bui.bzz_idcard AS backIdCard,
bui1.bzz_idcard AS leaseIdCard
bui1.bzz_idcard AS leaseIdCard,
dai.create_by AS userId
FROM
clz_direct_apply_info dai
LEFT JOIN clz_bm_agreement_info bai ON dai.back_agreement_id = bai.agreement_id
@ -209,7 +201,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and swrs.create_time = t.max_create_time -- 第二步:关联原表,获取最新时间对应的完整记录
) swrs on swr.id = swrs.record_id
<where>
<if test="status != null and status != ''">
<if test="status != null">
and dai.status = #{status}
</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
@ -408,4 +400,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ORDER BY dai.create_time desc
</select>
<select id="getListAll" resultType="java.lang.Integer">
SELECT
COUNT(*)
FROM
clz_direct_apply_info
</select>
</mapper>

View File

@ -1642,7 +1642,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND sp.`name` LIKE CONCAT('%', #{departName}, '%')
</if>
<if test="projectIdList != null and projectIdList.size() > 0">
in
AND bp.external_id in
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
#{item}
</foreach>
@ -1857,6 +1857,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="jiJuType != null and jiJuType != ''">
AND mt.jiju_type = #{jiJuType}
</if>
<if test="keyWord != null and keyWord != ''">
AND (
mt4.type_name like concat('%', #{keyWord}, '%') or
mt3.type_name like concat('%', #{keyWord}, '%') or
mt2.type_name like concat('%', #{keyWord}, '%') or
mt.type_name like concat('%', #{keyWord}, '%') or
bp.pro_name like concat('%', #{keyWord}, '%')
)
</if>
GROUP BY mt.type_id,
bp.pro_id
) AS subquery1 ON mt.type_id = subquery1.type_id
@ -1921,6 +1930,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="jiJuType != null and jiJuType != ''">
AND mt.jiju_type = #{jiJuType}
</if>
<if test="keyWord != null and keyWord != ''">
AND (
mt4.type_name like concat('%', #{keyWord}, '%') or
mt3.type_name like concat('%', #{keyWord}, '%') or
mt2.type_name like concat('%', #{keyWord}, '%') or
mt.type_name like concat('%', #{keyWord}, '%') or
bp.pro_name like concat('%', #{keyWord}, '%')
)
</if>
GROUP BY mt.type_id,
bp.pro_id
) AS subquery3

View File

@ -31,6 +31,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<update id="updateSysWorkflowType">
update sys_workflow_record set workflow_id = #{workflowId} where id = #{id}
</update>
<delete id="deleteSysWorkflowRecord">
delete from sys_workflow_record where task_id = #{taskId}
</delete>
<select id="getSysWorkflowRecodeByTaskId" parameterType="Integer" resultType="com.bonus.material.work.domain.dto.SysWorkflowAuditDto">
select
@ -139,6 +142,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
task_type as taskType,
task_code as taskCode
from sys_workflow_record
where id = #{id}
where task_id = #{id}
</select>
</mapper>