From f74f19c2352d7aa029259b1c14a8be8694e17933 Mon Sep 17 00:00:00 2001 From: "liang.chao" <1360241448@qq.com> Date: Mon, 21 Jul 2025 15:04:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../evaluate/beans/InitiateEvaluateBean.java | 1 + .../service/InitiateEvaluateServiceImpl.java | 19 +++++++++++++++---- .../InitiateEvaluateMapper.xml | 6 ++++-- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/InitiateEvaluateBean.java b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/InitiateEvaluateBean.java index afed9dd..4c5c8cf 100644 --- a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/InitiateEvaluateBean.java +++ b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/InitiateEvaluateBean.java @@ -68,6 +68,7 @@ public class InitiateEvaluateBean { private String endDate; private String proName; + private String proIdStr; private String subName; private List subList; diff --git a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/InitiateEvaluateServiceImpl.java b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/InitiateEvaluateServiceImpl.java index 740015a..69f7233 100644 --- a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/InitiateEvaluateServiceImpl.java +++ b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/InitiateEvaluateServiceImpl.java @@ -61,11 +61,20 @@ public class InitiateEvaluateServiceImpl implements InitiateEvaluateService { try { String subInfo = o.getSubInfo(); JSONArray jsonArray = JSONArray.parseArray(subInfo); - int count = dao.checkIsExistEvaluate(o); - if (count > 0) { - ar.setFailMsg("当前事业部在" + o.getEvaluateDate() + "已经发起过评价,请勿重复发起!!!"); - return ar; + List proIdList = new ArrayList<>(); + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject obj = jsonArray.getJSONObject(i); + String proId = obj.getString("proId"); + o.setProId(proId); + int count = dao.checkIsExistEvaluate(o); + if (count > 0) { + ar.setFailMsg("当前" + obj.getString("proName") + "在" + o.getEvaluateDate() + "已经发起过评价,请勿重复发起!!!"); + return ar; + } + proIdList.add(proId); } + // 转换为逗号分隔的字符串 + String proIdStr = String.join(",", proIdList); //判断是否已经发起过评价 dao.deleteInitiateLink(o.getId()); String json = dao.getTemplationJson(o.getTemplateId()); @@ -136,9 +145,11 @@ public class InitiateEvaluateServiceImpl implements InitiateEvaluateService { String formattedDate = outputFormat.format(inputFormat.parse(o.getEvaluateDate())); o.setTemplateTitle(formattedDate + "外包商对标考核统计表"); if ("add".equals(o.getType())) { + o.setProIdStr(proIdStr); dao.insertInitiateEvaluate(o); dao.insertInitiateEvaluateLink(jsonArray, o.getId()); } else { + o.setProIdStr(proIdStr); dao.updateInitiateEvaluate(o); dao.insertInitiateEvaluateLink(jsonArray, o.getId()); } diff --git a/src/main/resources/mappers/initiateEvaluate/InitiateEvaluateMapper.xml b/src/main/resources/mappers/initiateEvaluate/InitiateEvaluateMapper.xml index b76e69d..7f2bb8e 100644 --- a/src/main/resources/mappers/initiateEvaluate/InitiateEvaluateMapper.xml +++ b/src/main/resources/mappers/initiateEvaluate/InitiateEvaluateMapper.xml @@ -3,8 +3,8 @@ insert into pj_evaluate_record - (dept_id, evaluate_name, template_id, version, year_and_month, task_status, is_active) - values (#{orgId}, #{templateTitle}, #{templateId}, #{version}, #{evaluateDate}, 0, 1) + (dept_id, evaluate_name, template_id, version, year_and_month, task_status, is_active,pro_id) + values (#{orgId}, #{templateTitle}, #{templateId}, #{version}, #{evaluateDate}, 0, 1, #{proIdStr}) insert into pj_evaluate_sub @@ -25,6 +25,7 @@ evaluate_name = #{templateTitle}, template_id = #{templateId}, year_and_month = #{evaluateDate}, + pro_id = #{proIdStr}, version = #{version} where evaluate_id = #{id} @@ -143,6 +144,7 @@ from pj_evaluate_record per where per.dept_id = #{orgId} and per.year_and_month = #{evaluateDate} and is_active = '1' + and FIND_IN_SET(#{proId}, pro_id) > 0 and evaluate_id !=#{id}