Selaa lähdekoodia

指标公式计算方式 new

wangchangsheng 1 vuosi sitten
vanhempi
commit
72ba8eda92

+ 6 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/dao/OrganizationEvaluationInfoMapper.java

@@ -43,4 +43,10 @@ public interface OrganizationEvaluationInfoMapper extends BaseMapper<Organizatio
 
 
 	List<OrganizationEvaluationInfo> selectByIndicatorDictionaryId(@Param("indicatorDictionaryId") String indicatorDictionaryId);
+
+
+	List<OrganizationEvaluationInfoResDTO> selectByIdAndEvaluationInfoId(@Param("id") String id,
+																   @Param("indicatorId") String indicatorId,
+																   @Param("organizationEvaluationId") String organizationEvaluationId);
+
 }

+ 2 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/IOrganizationEvaluationInfoService.java

@@ -28,4 +28,6 @@ public interface IOrganizationEvaluationInfoService extends IService<Organizatio
 	//公司名 指标名 业务属性
 	List<OrganizationEvaluationInfoResDTO> finishValueList(String organizationEvaluationId, String dept, String  organizationShortName, String indicatorName, String binSection, String isQuantified, HttpServletRequest request);
 
+
+	boolean calculationByEvaluationId(String id ,String indicatorId,String organizationEvaluationI);
 }

+ 21 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationEvaluationInfoServiceImpl.java

@@ -160,6 +160,11 @@ public class OrganizationEvaluationInfoServiceImpl extends ServiceImpl<Organizat
 		return true;
 	}
 
+
+
+
+
+
 	@Override
 	public List<OrganizationEvaluationInfoResDTO> finishValueList(String organizationEvaluationId, String dept, String organizationShortName, String indicatorName, String binSection,String isQuantified, HttpServletRequest request) {
 		MyuserResDTO myuser = userService.getSysUser(request);
@@ -189,6 +194,22 @@ public class OrganizationEvaluationInfoServiceImpl extends ServiceImpl<Organizat
 		return list;
 	}
 
+	@Override
+	public boolean calculationByEvaluationId(String id, String indicatorId,String organizationEvaluationI) {
+		List<OrganizationEvaluationInfoResDTO> list = baseMapper.selectByIdAndEvaluationInfoId(id,indicatorId,organizationEvaluationI);
+		Map<String, List<OrganizationEvaluationInfoResDTO>> binSectionGropList = list.stream().collect(Collectors.groupingBy(OrganizationEvaluationInfoResDTO::getBinSection));
+
+		for (Map.Entry<String, List<OrganizationEvaluationInfoResDTO>> entry : binSectionGropList.entrySet()){
+			if (entry.getValue().size() > 0){
+				Map<String, List<OrganizationEvaluationInfoResDTO>> collectIn = entry.getValue().stream().collect(Collectors.groupingBy(OrganizationEvaluationInfoResDTO::getIndicatorId));
+
+
+			}
+		}
+
+		return false;
+	}
+
 
 	//todo  后续添加需要计算的指标项
 	public boolean calculateIdicatorItem(List<OrganizationEvaluationInfo> organizationEvaluationInfos){

+ 52 - 0
ims-service/ims-eval/src/main/resources/mappers/OrganizationEvaluationInfoMapper.xml

@@ -186,6 +186,58 @@
         order by be.order_num,oer.organization_short_name,bn.order_num,ri.order_num,id.option_order asc
 
     </select>
+    <select id="selectByIdAndEvaluationInfoId" resultType="com.ims.eval.entity.dto.response.OrganizationEvaluationInfoResDTO">
+
+
+
+        select
+        ei.id,
+        oe.id organizationEvaluationId,
+        ei.indicator_id,
+        ei.is_quantified,
+        be.stage_name,
+        be.id binStage,
+        bn.id binSection,
+        bn.section_name,
+        oer.id organizationEvaluationRuleId,
+        oer.organization_name,
+        oer.organization_short_name,
+        dd.key_name deptName,
+        it.type_name,
+        i.indicator_name,
+        id.child_name,
+        id.option_name,
+        id.option_code,
+        ei.quantified_value,
+        ei.non_quantified_value,
+        i.unit,
+        ei.state
+        from
+        organization_evaluation_info ei
+        inner join organization_evaluation_rule oer on oer.id = ei.organization_evaluation_rule_id
+        inner join organization_evaluation oe on oe.id = ei.organization_evaluation_id
+        left join indicator i on ei.indicator_id = i.id
+        left join  evaluate_rule_info ri on ri.indicator_id = i.id and ei.evaluate_rule_info_id = ri.id
+        left join bin_stage be on i.bin_stage = be.id
+        left join bin_section bn on i.bin_section = bn.id
+        left join indicator_type it on i.indicator_type_id = it.id
+        left join indicator_dictionary id on ei.indicator_dictionary_id = id.id
+        inner join data_dictionary dd on dd.data_key = i.dept_id
+        <where>
+
+        <if test="id !=null and id !=''">
+            and  ei.id  = #{id}
+        </if>
+
+        <if test="organizationEvaluationId !=null and organizationEvaluationId !=''">
+            and  ei.organization_evaluation_id  = #{organizationEvaluationId}
+        </if>
+
+        </where>
+
+        order by be.order_num,oer.organization_short_name,bn.order_num,ri.order_num,id.option_order asc
+
+    </select>
 
 
 </mapper>