fix: 制修订流程结束 生成评审会记录BUG

This commit is contained in:
2023-12-28 16:48:20 +08:00
parent aac903e766
commit b3c2f3f355
5 changed files with 26 additions and 22 deletions
@@ -102,8 +102,8 @@ public class ProcessESRevisionEndListener implements ExecutionListener {
LawsEnterpriseStandard es = esService.getOne(esWrapper);
// 保存评审会记录
EnterpriseStandardReviewMeetingRecord esRmr = new EnterpriseStandardReviewMeetingRecord();
esRmr.setStandardId(es.getId());
esRmr.setStandardNo(es.getStandardNumber());
esRmr.setStandardId(esp.getId());
esRmr.setPlanId(esp.getId());
esRmr.setReviewDate(data.getReviewDate());
rmrService.save(esRmr);
// 保存评审会评审结果
@@ -245,6 +245,7 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
List<OtherDraftUserVO> otherDraftUserVOS = data.parseOtherDraftUserVOS();
List<InspectContentVO> inspectContentVOS = data.parseInspectContents();
String xmlNodeId = record.getNodeId();
boolean pass = (boolean) taskService.getVariable(taskId, "pass");
// 某些节点需要对数据进行特殊处理
switch (xmlNodeId) {
case OTHER_DRAFT_USER_UPLOAD:
@@ -262,7 +263,11 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
}
break;
case CONTACT_USER_DISTRIBUTE:
data.setWorkGroup(null);
if (pass) {
data.setWorkGroup(null);
data.setAuthDept(null);
data.setReviewUser(null);
}
case CONTACT_USER_COLLECT:
String contactUserLeader = (String) runtimeService.getVariable(executionId, executionId + "-ContactUserLeader");
data.setContactUserLeader(contactUserLeader);
@@ -63,8 +63,8 @@ public class EnterpriseStandardReviewMeetingRecord implements Serializable {
private String standardId;
/**企标编号*/
@ApiModelProperty(value = "企标编号")
private String standardNo;
@ApiModelProperty(value = "企标计划Id")
private String planId;
/**评审日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@@ -29,9 +29,11 @@ public class EnterpriseStandardReviewMeetingVo {
@ApiModelProperty(value = "企标编号")
private String standardName;
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
@ApiModelProperty(value = "主起草人")
private String mainDraftingUser;
@Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
@ApiModelProperty(value = "主起草单位")
private String mainDraftingUnit;
@@ -12,38 +12,34 @@
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="orgCode" column="org_code" jdbcType="VARCHAR"/>
<result property="standardId" column="standard_id" jdbcType="VARCHAR"/>
<result property="standardNo" column="standard_no" jdbcType="VARCHAR"/>
<result property="planId" column="plan_id" jdbcType="VARCHAR"/>
<result property="reviewDate" column="review_date" jdbcType="TIMESTAMP"/>
</resultMap>
<select id="page" resultType="com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardReviewMeetingVo">
SELECT
rmr.id,
esp.standardNo,
esp.standardName,
esp.mainDraftingUser,
esp.mainDraftingUnit,
es.standard_number AS standardNo,
es.standard_name AS standardName,
es.main_drafting_user AS mainDraftUser,
es.main_drafting_unit AS mainDraftUnit,
rmr.review_date AS reviewDate,
esp.qualityFlag,
(score.avg_score_item1 + score.avg_score_item2 + score.avg_score_item3 +
score.avg_score_item4 + score.avg_score_item5 + score.avg_score_item6) AS avgScore,
GROUP_CONCAT(DISTINCT CONCAT(u.realname, '', u.username, '') ORDER BY u.username ASC SEPARATOR '') AS reviewUsers
GROUP_CONCAT(DISTINCT CONCAT(u.realname, '(', u.username, ')') ORDER BY u.username ASC SEPARATOR ',') AS reviewUsers
FROM
`laws_enterprise_standard_review_meeting_record` AS rmr
LEFT JOIN
`laws_enterprise_standard` AS es ON es.id = rmr.standard_id
LEFT JOIN
(
SELECT
esp.id,
esp.new_en_standard_no AS standardNo,
esp.new_en_standard_name AS standardName,
esp.quality_flag AS qualityFlag,
u.username AS mainDraftingUser,
d.depart_name AS mainDraftingUnit
esp.quality_flag AS qualityFlag
FROM
laws_enterprise_standard_plan AS esp
LEFT JOIN sys_user AS u ON u.id = esp.main_drafting_user
LEFT JOIN sys_depart AS d ON d.id = esp.main_drafting_unit
) AS esp ON esp.id = rmr.standard_id
) AS esp ON esp.id = rmr.plan_id
LEFT JOIN
(
SELECT
@@ -66,17 +62,18 @@
Where 1 = 1
<!--企标编号判断-->
<if test="param.standardNo != null and param.standardNo != ''">
AND esp.standardNo LIKE CONCAT('%',#{param.standardNo},'%')
AND es.standard_number LIKE CONCAT('%',#{param.standardNo},'%')
</if>
<!--企标名称判断-->
<if test="param.standardName != null and param.standardName != ''">
AND esp.standardName LIKE CONCAT('%',#{param.standardName},'%')
AND es.standard_name LIKE CONCAT('%',#{param.standardName},'%')
</if>
<!--评审日期判断-->
<if test="param.reviewStartDate != null and param.reviewEndDate != null">
AND rmr.review_date BETWEEN #{param.reviewStartDate} AND #{param.reviewEndDate}
</if>
GROUP BY rmr.id, esp.standardNo, esp.standardName, esp.mainDraftingUser, esp.mainDraftingUnit, rmr.review_date, esp.qualityFlag, score.avg_score_item1, score.avg_score_item2, score.avg_score_item3, score.avg_score_item4, score.avg_score_item5, score.avg_score_item6
GROUP BY rmr.id,
rmr.review_date, esp.qualityFlag, score.avg_score_item1, score.avg_score_item2, score.avg_score_item3, score.avg_score_item4, score.avg_score_item5, score.avg_score_item6
ORDER BY
avgScore DESC,
score.avg_score_item2 DESC,