Browse Source

优化功能

jyj_dev2
zhouhaibin 19 hours ago
parent
commit
65ac9be3a7
  1. 2
      ruoyi-admin/src/main/resources/application.yml
  2. 4
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/ContractualTasksBo.java
  3. 12
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/ContractualTasksMapper.java
  4. 68
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/ContractualTasksServiceImpl.java
  5. 11
      zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/ContractualProductInfoMapper.xml
  6. 49
      zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/ContractualTasksMapper.xml

2
ruoyi-admin/src/main/resources/application.yml

@ -71,7 +71,7 @@ spring:
basename: i18n/messages
profiles:
#@profiles.active@
active: dev
active: prod
# 文件上传
servlet:
multipart:

4
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/ContractualTasksBo.java

@ -13,6 +13,7 @@ import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.productManagement.domain.DocumentTasks;
import io.swagger.v3.oas.annotations.media.Schema;
/**
* 合同任务业务对象 contractual_tasks
@ -36,7 +37,10 @@ public class ContractualTasksBo extends BaseTaskBo {
private Long groupId;
private String resultType;
private String batchName;
@Schema(description = "问题点")
private String problemPoint;
@Schema(description = "单位名称")
private String unitName;
// /**
// * 模型所属行业

12
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/ContractualTasksMapper.java

@ -1,9 +1,13 @@
package org.dromara.productManagement.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.dromara.productManagement.domain.ContractualTasks;
import org.dromara.productManagement.domain.bo.ContractualTasksBo;
import org.dromara.productManagement.domain.vo.ContractualTasksVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import java.util.List;
/**
* 合同任务Mapper接口
*
@ -12,4 +16,12 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
*/
public interface ContractualTasksMapper extends BaseMapperPlus<ContractualTasks, ContractualTasksVo> {
/**
* 分页查询带单位名称的任务列表
*
* @param page 分页对象
* @param bo 查询条件
* @return 带单位名称的任务列表
*/
Page<ContractualTasksVo> selectTasksWithUnitName(Page<ContractualTasksVo> page, ContractualTasksBo bo);
}

68
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/ContractualTasksServiceImpl.java

@ -59,6 +59,10 @@ public class ContractualTasksServiceImpl extends BaseTaskService<ContractualTask
private IContractualTaskSupplementService contractualTaskSupplementService;
@Autowired
private ContractualInfoMapper contractualInfoMapper;
@Autowired
private ContractualTasksMapper contractualTasksMapper;
@Override
@ -75,53 +79,23 @@ public class ContractualTasksServiceImpl extends BaseTaskService<ContractualTask
*/
@Override
public TableDataInfo<ContractualTasksVo> queryPageList(ContractualTasksBo bo, PageQuery pageQuery) {
DocumentTasksBo documentTasksBo = new DocumentTasksBo();
BeanUtils.copyProperties(bo, documentTasksBo);
LambdaQueryWrapper<DocumentTasks> lqw = buildQueryWrapper(documentTasksBo);
lqw.eq(DocumentTasks::getTaskType, TaskEnum.TaskType.CONTRACT_REVIEW.getValue());
// 获取 DocumentTasksVo 的分页结果
Page<DocumentTasksVo> documentTasksPage = documentTasksMapper.selectVoPage(pageQuery.build(), lqw);
// 创建新的 ContractualTasksVo 的 Page 对象
Page<ContractualTasksVo> result = new Page<>();
// 复制分页信息
result.setTotal(documentTasksPage.getTotal());
result.setSize(documentTasksPage.getSize());
result.setCurrent(documentTasksPage.getCurrent());
// 转换记录列表
List<ContractualTasksVo> contractualTasksVoList = documentTasksPage.getRecords().stream()
.map(documentTasksVo -> {
ContractualTasksVo contractualTasksVo = new ContractualTasksVo();
BeanUtils.copyProperties(documentTasksVo, contractualTasksVo);
// 设置创建用户信息,目前不需要
// Long createBy = contractualTasksVo.getCreateBy();
// contractualTasksVo.setCreateUser(userService.selectUserById(createBy).getNickName());
//获取单位名称
String unitName = "";
ContractualInfoVo contractualInfo = contractualInfoMapper.selectContractualInfoByTaskId(documentTasksVo.getId());
if (contractualInfo!= null) {
unitName = contractualInfo.getPurchaserName();
}
contractualTasksVo.setUnitName(unitName);
// 计算任务持续时间
String formattedDuration = "";
if (!contractualTasksVo.getProgressStatus().equals("PENDING")
&& !contractualTasksVo.getProgressStatus().equals("STARTED")) {
formattedDuration = MyTimeUtils.formatTimeDifference(
contractualTasksVo.getCreateTime(),
contractualTasksVo.getUpdateTime()
);
}
contractualTasksVo.setTaskDuration(formattedDuration);
return contractualTasksVo;
})
.collect(java.util.stream.Collectors.toList());
result.setRecords(contractualTasksVoList);
// 使用自定义Mapper方法查询带单位名称的任务列表
Page<ContractualTasksVo> page = pageQuery.build();
Page<ContractualTasksVo> result = contractualTasksMapper.selectTasksWithUnitName(page, bo);
// 处理查询结果,设置任务持续时间
result.getRecords().forEach(contractualTasksVo -> {
// 计算任务持续时间
String formattedDuration = "";
if (!contractualTasksVo.getProgressStatus().equals("PENDING")
&& !contractualTasksVo.getProgressStatus().equals("STARTED")) {
formattedDuration = MyTimeUtils.formatTimeDifference(
contractualTasksVo.getCreateTime(),
contractualTasksVo.getUpdateTime()
);
}
contractualTasksVo.setTaskDuration(formattedDuration);
});
return TableDataInfo.build(result);
}

11
zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/ContractualProductInfoMapper.xml

@ -48,7 +48,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND p.unit_price = #{queryParam.unitPrice}
</if>
<if test="queryParam.purchaserName != null and queryParam.purchaserName != ''">
AND i.purchaser_name = #{queryParam.purchaserName}
AND i.purchaser_name = LIKE CONCAT('%', #{queryParam.purchaser_name}, '%')
</if>
AND p.del_flag = '0'
AND dt.result_type = 'reviewSuccess'
@ -87,6 +87,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="bo.fileName != null and bo.fileName != ''">
AND ci.file_name = #{bo.fileName}
</if>
<if test="bo.brand != null and bo.brand != ''">
AND p.brand LIKE CONCAT('%', #{bo.brand}, '%')
</if>
<if test="bo.versionStr != null and bo.versionStr != ''">
AND p.version_str LIKE CONCAT('%', #{bo.versionStr}, '%')
</if>
<if test="bo.cpuModel != null and bo.cpuModel != ''">
AND p.cpu_model LIKE CONCAT('%', #{bo.cpuModel}, '%')
</if>
AND dt.result_type = 'reviewSuccess' AND dt.del_flag = '0'
AND
CASE

49
zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/ContractualTasksMapper.xml

@ -4,4 +4,53 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.productManagement.mapper.ContractualTasksMapper">
<!-- 自定义查询结果映射 -->
<resultMap type="org.dromara.productManagement.domain.vo.ContractualTasksVo" id="ContractualTasksResult">
<id property="id" column="id"/>
<result property="documentName" column="document_name"/>
<result property="batchName" column="batch_name"/>
<result property="groupId" column="group_id"/>
<result property="taskName" column="task_name"/>
<result property="progressStatus" column="progress_status"/>
<result property="resultType" column="result_type"/>
<result property="problemPoint" column="problem_point"/>
<result property="unitName" column="unit_name"/>
</resultMap>
<!-- 联合查询带单位名称的任务列表 -->
<select id="selectTasksWithUnitName" resultMap="ContractualTasksResult">
SELECT
dt.*,
ci.purchaser_name as unit_name
FROM
document_tasks dt
LEFT JOIN
contractual_info ci ON dt.id = ci.task_id
<where>
dt.task_type = 'CONTRACT_REVIEW'
<if test="bo.documentName != null and bo.documentName != ''">
AND dt.document_name LIKE CONCAT('%', #{bo.documentName}, '%')
</if>
<if test="bo.batchName != null and bo.batchName != ''">
AND dt.batch_name = #{bo.batchName}
</if>
<if test="bo.progressStatus != null and bo.progressStatus != ''">
AND dt.progress_status = #{bo.progressStatus}
</if>
<if test="bo.resultType != null and bo.resultType != ''">
AND dt.result_type = #{bo.resultType}
</if>
<if test="bo.problemPoint != null and bo.problemPoint != ''">
AND dt.problem_point LIKE CONCAT('%', #{bo.problemPoint}, '%')
</if>
<if test="bo.groupId != null">
AND dt.group_id = #{bo.groupId}
</if>
<if test="bo.unitName != null and bo.unitName != ''">
AND ci.purchaser_name LIKE CONCAT('%', #{bo.unitName}, '%')
</if>
</where>
ORDER BY dt.update_time DESC, dt.progress_status DESC
</select>
</mapper>

Loading…
Cancel
Save