优化及bug修复

This commit is contained in:
mashuai 2025-06-21 21:04:32 +08:00
parent e1c9e6a30c
commit b3d4d0c46f
13 changed files with 95 additions and 91 deletions

View File

@ -84,12 +84,7 @@ public class StoreLogAspect {
bmStorageLog.setStatus(200L);
// 请求的地址
bmStorageLog.setMethod(StringUtils.substring(Objects.requireNonNull(ServletUtils.getRequest()).getRequestURI(), 0, 255));
String username = SecurityUtils.getLoginUser().getSysUser().getNickName();
R<LoginUser> userInfo = remoteUserService.getUserInfo(username, SecurityConstants.INNER);
if (ObjectUtils.isNotEmpty(userInfo))
{
bmStorageLog.setCreator(userInfo.getData().getSysUser().getNickName());
}
bmStorageLog.setCreator(SecurityUtils.getLoginUser().getSysUser().getNickName());
if (e != null) {
bmStorageLog.setStatus(500L);
bmStorageLog.setJsonResult(StringUtils.substring(e.getMessage(), 0, 2000));

View File

@ -297,6 +297,11 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
if (CollectionUtils.isEmpty(list)) {
return new ArrayList<>();
}
for (BackApplyInfo applyInfo : list) {
if (StringUtils.isNotBlank(applyInfo.getBackSignUrl())) {
applyInfo.setBackSignUrl("data:image/png;base64," + applyInfo.getBackSignUrl());
}
}
// 提取关键字
String keyWord = backApplyInfo.getKeyWord();
// 如果关键字不为空进行过滤

View File

@ -94,17 +94,17 @@ public interface LeaseApplyInfoMapper {
*/
List<LeaseApplyInfo> selectPublishList(LeaseApplyInfo leaseApplyInfo);
/**
* 查询待签名的领料单
* @param leaseApplyInfo
* @return
*/
List<LeaseApplyInfo> getNoSignList(LeaseApplyInfo leaseApplyInfo);
/**
* 查询领料单的领料单出库签名
* @param id
* @return
*/
List<LeaseOutSign> selectLeaseApplyOutList(Long id);
/**
* 修改领用发布签名
* @param leaseApplyInfo
* @return
*/
int updateLeasePublishInfoSign(LeaseApplyInfo leaseApplyInfo);
}

View File

@ -91,6 +91,7 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
LeaseApplyRequestVo leaseApplyRequestVo = new LeaseApplyRequestVo();
// 查询领用出库数据
if (StringUtils.isNotBlank(publishTask)) {
leaseApplyInfo.setPublishTask(publishTask);
List<LeaseApplyInfo> leaseApplyOutList = leaseApplyInfoMapper.selectPublishList(leaseApplyInfo);
if (!CollectionUtils.isEmpty(leaseApplyOutList)) {
LeaseApplyInfo applyInfo = leaseApplyOutList.get(0);
@ -194,21 +195,10 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
List<LeaseApplyInfo> list = leaseApplyInfoMapper.selectLeaseApplyInfoList(leaseApplyInfo);
// 如果statusList包含345则为领料出库查询需查询领用出库数据进行拼接
if (!CollectionUtils.isEmpty(leaseApplyInfo.getStatusList())) {
if (leaseApplyInfo.getStatusList().containsAll(Arrays.asList(3, 4, 5))) {
if (((leaseApplyInfo.getStatusList().contains(3) || leaseApplyInfo.getStatusList().contains(4)) && !leaseApplyInfo.getStatusList().contains(1))
|| leaseApplyInfo.getStatusList().containsAll(Arrays.asList(3, 4, 5))) {
// 查询领用出库数据
List<LeaseApplyInfo> leaseApplyOutList = leaseApplyInfoMapper.selectPublishList(leaseApplyInfo);
if (!CollectionUtils.isEmpty(leaseApplyOutList)) {
for (LeaseApplyInfo applyInfo : leaseApplyOutList) {
if (applyInfo.getPreCountNum().compareTo(applyInfo.getAlNum()) == 0) {
applyInfo.setTaskStatus(LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatus());
applyInfo.setTaskStatusName(LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatusName());
} else {
applyInfo.setTaskStatus(LeaseTaskStatusEnum.LEASE_TASK_IN_PROGRESS.getStatus());
applyInfo.setTaskStatusName(LeaseTaskStatusEnum.LEASE_TASK_IN_PROGRESS.getStatusName());
}
}
list.addAll(leaseApplyOutList);
}
extracted(leaseApplyInfo, list);
}
}
if (!CollectionUtils.isEmpty(list)) {
@ -218,8 +208,11 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
.filter(info -> StringUtils.isNotBlank(info.getLeaseSignUrl()))
.collect(Collectors.toList());
} else if (leaseApplyInfo.getHasSign() != null && leaseApplyInfo.getHasSign() == 0) {
extracted(leaseApplyInfo, list);
// 查询待签名的领料单
list = leaseApplyInfoMapper.getNoSignList(leaseApplyInfo);
list = list.stream()
.filter(info -> StringUtils.isBlank(info.getLeaseSignUrl()))
.collect(Collectors.toList());
}
}
// 使用 Stream API 进行降序排序
@ -246,6 +239,28 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
return sortedList;
}
/**
* 查询领用数据抽取
* @param leaseApplyInfo
* @param list
*/
private void extracted(LeaseApplyInfo leaseApplyInfo, List<LeaseApplyInfo> list) {
// 查询领用出库数据
List<LeaseApplyInfo> leaseApplyOutList = leaseApplyInfoMapper.selectPublishList(leaseApplyInfo);
if (!CollectionUtils.isEmpty(leaseApplyOutList)) {
for (LeaseApplyInfo applyInfo : leaseApplyOutList) {
if (applyInfo.getPreCountNum().compareTo(applyInfo.getAlNum()) == 0) {
applyInfo.setTaskStatus(LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatus());
applyInfo.setTaskStatusName(LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatusName());
} else {
applyInfo.setTaskStatus(LeaseTaskStatusEnum.LEASE_TASK_IN_PROGRESS.getStatus());
applyInfo.setTaskStatusName(LeaseTaskStatusEnum.LEASE_TASK_IN_PROGRESS.getStatusName());
}
}
list.addAll(leaseApplyOutList);
}
}
/**
* 材料员确认service
*
@ -273,19 +288,7 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
if (!CollectionUtils.isEmpty(leaseApplyInfo.getStatusList())) {
if (leaseApplyInfo.getStatusList().contains(4)) {
// 查询领用出库数据
List<LeaseApplyInfo> leaseApplyOutList = leaseApplyInfoMapper.selectPublishList(leaseApplyInfo);
if (!CollectionUtils.isEmpty(leaseApplyOutList)) {
for (LeaseApplyInfo applyInfo : leaseApplyOutList) {
if (applyInfo.getPreCountNum().compareTo(applyInfo.getAlNum()) == 0) {
applyInfo.setTaskStatus(LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatus());
applyInfo.setTaskStatusName(LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatusName());
} else {
applyInfo.setTaskStatus(LeaseTaskStatusEnum.LEASE_TASK_IN_PROGRESS.getStatus());
applyInfo.setTaskStatusName(LeaseTaskStatusEnum.LEASE_TASK_IN_PROGRESS.getStatusName());
}
}
list.addAll(leaseApplyOutList);
}
extracted(leaseApplyInfo, list);
}
}
// 使用 Stream API 进行降序排序
@ -725,6 +728,10 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
*/
@Override
public int updateLeaseApplyInfoSign(LeaseApplyInfo leaseApplyInfo) {
// 领用电子签名修改
if (leaseApplyInfo.getTaskType() != null && leaseApplyInfo.getTaskType() == 19) {
return leaseApplyInfoMapper.updateLeasePublishInfoSign(leaseApplyInfo);
}
return leaseApplyInfoMapper.updateLeaseApplyInfoSign(leaseApplyInfo);
}

View File

@ -110,9 +110,9 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService {
return AjaxResult.error("请先添加领用任务物资明细");
}
leaseApplyRequestVo.getLeaseApplyInfo().setCreateTime(DateUtils.getNowDate());
leaseApplyRequestVo.getLeaseApplyInfo().setCreateBy(SecurityUtils.getUsername());
leaseApplyRequestVo.getLeaseApplyInfo().setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
leaseApplyRequestVo.getLeaseApplyInfo().setTaskDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
Long userId = SecurityUtils.getUserId();
Long userId = SecurityUtils.getLoginUser().getUserid();
Long deptId = mapper.getDeptIdByUserId(userId);
LeaseDeptInfo leaseDeptInfo = new LeaseDeptInfo();
leaseDeptInfo = mapper.getDeptIdByParentId(deptId);
@ -149,7 +149,7 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService {
taskStatus,
leaseApplyRequestVo.getLeaseApplyInfo().getCompanyId(),thisMonthMaxOrder + 1, taskCode);
tmTask.setCreateTime(DateUtils.getNowDate());
tmTask.setCreateBy(SecurityUtils.getUsername());
tmTask.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
tmTask.setTaskDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
tmTaskMapper.insertTmTask(tmTask);
leaseApplyRequestVo.getLeaseApplyInfo().setTaskId(tmTask.getTaskId());

View File

@ -662,6 +662,9 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
if (purchaseSignRecordUserSignList.isEmpty()) {
purchaseSignRecordUserSignList = signProcessMapper.getPurchaseSignUrlListByTaskId(purchaseCheckDetails.getTaskId());
for (PurchaseSignRecord purchaseSignRecord : purchaseSignRecordUserSignList) {
if (StringUtils.isNotBlank(purchaseSignRecord.getSignUrl())) {
purchaseSignRecord.setSignUrl("data:image/png;base64," + purchaseSignRecord.getSignUrl());
}
purchaseSignRecordMap.put(purchaseSignRecord.getSignUrl(), purchaseSignRecord);
}
}
@ -671,9 +674,9 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
// 分流存入集合,利用Map去重
purchaseSignRecordMap.forEach((k, v) -> {
if (null != v.getUserId()) {
if (311 == v.getOrgId()) {result.getGySignUrl().add(v);}
if (313 == v.getOrgId()) {result.getScSignUrl().add(v);}
if (312 == v.getOrgId()) {result.getKgSignUrl().add(v);}
if (v.getOrgId() == 105) {result.getGySignUrl().add(v);}
if (v.getOrgId() == 103) {result.getScSignUrl().add(v);}
if (v.getOrgId() == 106 || v.getOrgId() == 334 || v.getOrgId() == 335) {result.getKgSignUrl().add(v);}
}
});
}

View File

@ -102,4 +102,9 @@ public class SysWorkflowNode {
* 角色信息
*/
private String roleIds;
/**
* 审核人
*/
private String auditBy;
}

View File

@ -66,4 +66,9 @@ public class SysWorkflowRecordHistory {
* 流程节点顺序
*/
private Integer nodeSort;
/**
* 审核人
*/
private String auditBy;
}

View File

@ -126,6 +126,7 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService {
forSysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryList.get(0).getIsAccept());
forSysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryList.get(0).getCreateTime());
forSysWorkflowNode.setRemark(sysWorkflowRecordHistoryList.get(0).getRemark());
forSysWorkflowNode.setAuditBy(sysWorkflowRecordHistoryList.get(0).getAuditBy());
} else {
String[] configValue = forSysWorkflowNode.getConfigValues().split(",");
List<String> filteredList = Arrays.stream(configValue).collect(Collectors.toList());
@ -149,6 +150,7 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService {
forSysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryListNew.get(0).getIsAccept());
forSysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryListNew.get(0).getCreateTime());
forSysWorkflowNode.setRemark(sysWorkflowRecordHistoryListNew.get(0).getRemark());
forSysWorkflowNode.setAuditBy(sysWorkflowRecordHistoryListNew.get(0).getAuditBy());
} else {
// 获取当前人的审核信息
List<SysWorkflowRecordHistory> sysWorkflowRecordHistoryListNew = sysWorkflowRecordHistoryList.stream()
@ -159,10 +161,12 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService {
forSysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryListNew.get(0).getIsAccept());
forSysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryListNew.get(0).getCreateTime());
forSysWorkflowNode.setRemark(sysWorkflowRecordHistoryListNew.get(0).getRemark());
forSysWorkflowNode.setAuditBy(sysWorkflowRecordHistoryListNew.get(0).getAuditBy());
} else {
forSysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryList.get(0).getIsAccept());
forSysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryList.get(0).getCreateTime());
forSysWorkflowNode.setRemark(sysWorkflowRecordHistoryList.get(0).getRemark());
forSysWorkflowNode.setAuditBy(sysWorkflowRecordHistoryList.get(0).getAuditBy());
}
}
}

View File

@ -508,7 +508,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and mm.ma_status in (1)
GROUP BY mt.type_id) AS subquery0 ON subquery0.type_id = mt.type_id
LEFT JOIN lease_out_details lod ON lpd.parent_id = lod.parent_id
AND lpd.publish_task = lod.publish_task
AND lpd.publish_task = lod.publish_task AND lod.type_id = lpd.new_type
LEFT JOIN bm_unit bu ON bu.unit_id = lpd.unit_id
LEFT JOIN bm_project bp ON bp.pro_id = lpd.project_id
WHERE
@ -525,7 +525,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
mt1.type_name as maTypeName,
mt.type_name as typeName,
mm.ma_code as maCode,
lod.create_by as createBy,
su.nick_name as createBy,
lod.create_time as createTime,
lod.ma_id as maId
FROM
@ -537,6 +537,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN lease_publish_details lpd on lod.publish_task = lpd.publish_task
and lod.type_id = lpd.type_id
LEFT JOIN ma_machine mm ON lod.ma_id = mm.ma_id
LEFT JOIN sys_user su ON lod.create_by = su.user_id
where lod.publish_task = #{publishTask} and lod.type_id = #{typeId}
ORDER BY
lod.create_time DESC

View File

@ -56,7 +56,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
IFNULL(sum(lad.al_num),0) as alNum,
GROUP_CONCAT(DISTINCT mt1.type_name) as maTypeNames,
bp.contract_part as contractPart,
sd.dept_name as impUnitName
sd.dept_name as impUnitName,
tt.task_type as taskType
from
lease_apply_info lai
left join tm_task tt on lai.task_id = tt.task_id
@ -273,7 +274,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
GROUP_CONCAT( DISTINCT mt1.type_name ) AS maTypeNames,
lpd.publish_task AS publishTask,
lai.task_id AS taskId,
lai.lease_sign_url AS leaseSignUrl
lpd.lease_sign_url AS leaseSignUrl,
lpd.lease_sign_type AS leaseSignType,
tt.task_type AS taskType
FROM
lease_publish_details lpd
LEFT JOIN lease_apply_info lai ON lai.id = lpd.parent_id
@ -309,43 +312,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
lpd.create_time DESC
</select>
<select id="getNoSignList" parameterType="com.bonus.common.biz.domain.lease.LeaseApplyInfo" resultMap="LeaseApplyInfoResult">
<include refid="selectLeaseApplyInfoVo"/>
<where>
<if test="code != null and code != ''"> and lai.code = #{code}</if>
<if test="taskId != null "> and lai.task_id = #{taskId}</if>
<if test="leasePerson != null and leasePerson != ''"> and lai.lease_person = #{leasePerson}</if>
<if test="phone != null and phone != ''"> and lai.phone = #{phone}</if>
<if test="type != null and type != ''"> and lai.type = #{type}</if>
<if test="companyAuditBy != null "> and lai.company_audit_by = #{companyAuditBy}</if>
<if test="companyAuditTime != null "> and lai.company_audit_time = #{companyAuditTime}</if>
<if test="companyAuditRemark != null and companyAuditRemark != ''"> and lai.company_audit_remark = #{companyAuditRemark}</if>
<if test="deptAuditBy != null "> and lai.dept_audit_by = #{deptAuditBy}</if>
<if test="deptAuditTime != null "> and lai.dept_audit_time = #{deptAuditTime}</if>
<if test="deptAuditRemark != null and deptAuditRemark != ''"> and lai.dept_audit_remark = #{deptAuditRemark}</if>
<if test="directAuditBy != null "> and lai.direct_audit_by = #{directAuditBy}</if>
<if test="directAuditTime != null "> and lai.direct_audit_time = #{directAuditTime}</if>
<if test="directAuditRemark != null and directAuditRemark != ''"> and lai.direct_audit_remark = #{directAuditRemark}</if>
<if test="companyId != null "> and lai.company_id = #{companyId}</if>
<if test="statusList != null and statusList.size() > 0">
and tt.task_status in
<foreach item="item" collection="statusList" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
<![CDATA[ AND DATE_FORMAT( lai.create_time, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime} ]]>
</if>
<if test="directId != null "> and lai.direct_id = #{directId}</if>
<if test="leaseType != null and leaseType != ''"> and lai.lease_type = #{leaseType}</if>
<if test="estimateLeaseTime != null "> and lai.estimate_lease_time = #{estimateLeaseTime}</if>
<if test="costBearingParty != null and costBearingParty != ''"> and lai.cost_bearing_party = #{costBearingParty}</if>
and lai.lease_sign_url is null
</where>
GROUP BY lai.id
ORDER BY tt.task_status,tt.create_time desc
</select>
<select id="selectLeaseApplyOutList" resultType="com.bonus.common.biz.domain.lease.LeaseOutSign">
SELECT
su.sign_type AS outSignType,
@ -354,7 +320,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
sys_user su
LEFT JOIN lease_out_details lod ON su.user_id = lod.create_by
WHERE
lod.parent_id = #{id}
lod.parent_id = #{id} AND su.sign_url IS NOT NULL
GROUP BY
su.user_id
</select>
@ -368,4 +334,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where
id = #{id}
</update>
<update id="updateLeasePublishInfoSign">
update lease_publish_details
<trim prefix="SET" suffixOverrides=",">
<if test="leaseSignUrl != null and leaseSignUrl != '' ">lease_sign_url = #{leaseSignUrl},</if>
<if test="leaseSignType != null">lease_sign_type = #{leaseSignType},</if>
</trim>
where parent_id = #{id}
<if test="publishTask != null and publishTask != ''">
and publish_task = #{publishTask}
</if>
</update>
</mapper>

View File

@ -825,7 +825,7 @@
<if test="isApp != null and taskStatus==1">and (tt.task_status = 0 or tt.task_status = 1 or tt.task_status = 2) </if>
<if test="isApp != null and taskStatus==3">and (tt.task_status = 3 or tt.task_status = 4)</if>
GROUP BY lai.id
ORDER BY tt.task_status,tt.create_time desc
ORDER BY tt.create_time desc
</select>
<select id="selectLeaseApplyDetailsById" resultType="com.bonus.material.lease.domain.LeaseApplyDetails">

View File

@ -28,8 +28,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</insert>
<select id="seleteSysWorkflowRecordHistory" resultType="com.bonus.material.work.domain.SysWorkflowRecordHistory">
select swrh.is_accept as isAccept,swrh.create_time as createTime,swrh.remark as remark,swrh.next_node_id as nextNodeId,
swrh.create_by as createBy,swrh.node_id as nodeId
swrh.create_by as createBy,swrh.node_id as nodeId, su.nick_name as auditBy
from sys_workflow_record_history swrh
left join sys_user su on su.user_id = swrh.create_by
where swrh.record_id=#{recordId} and swrh.node_id= #{nodeId}
</select>
<select id="getWorkflowRecordHistoryByRecordId"