|
|
@@ -106,14 +106,20 @@ func (s *OilContractSumScoreService) GetPagingComputeEntitiesWithOrderBytbl(page
|
|
|
//sql += ` case max(cert.Status) when '8' then '已准入' when '11' then '已准入' else '未准入' end as "certStatus", `
|
|
|
// 2021年03月28日新增4个字段查询 结束 ↑↑↑↑↑↑↑↑↑
|
|
|
|
|
|
- sql += ` sum(case when items.SequenceNo in ('1') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B1, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('2') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B2, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('3') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B3, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('4') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B4, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('5') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B5, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('6') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B6, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('7') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B7, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('8') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B8, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('1') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B1, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('2') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B2, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('3') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B3, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('4') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B4, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('5') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B5, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('6') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B6, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('7') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B7, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('8') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B8, `
|
|
|
+ sql += ` ROUND(sum(case when items.SequenceNo in ('1') AND items.Type =3` + where1 + ` then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =3` + where1 + ` then 1 else 0 end),2) ConditionScore1, `
|
|
|
+ sql += ` ROUND(sum(case when items.SequenceNo in ('2') AND items.Type =3` + where1 + ` then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =3` + where1 + ` then 1 else 0 end),2) ConditionScore2, `
|
|
|
+ sql += ` ROUND(sum(case when items.SequenceNo in ('3') AND items.Type =3` + where1 + ` then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =3` + where1 + ` then 1 else 0 end),2) ConditionScore3, `
|
|
|
+ sql += ` ROUND(sum(case when items.SequenceNo in ('4') AND items.Type =3` + where1 + ` then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =3` + where1 + ` then 1 else 0 end),2) ConditionScore4, `
|
|
|
+ sql += ` ROUND(sum(case when items.SequenceNo in ('5') AND items.Type =3` + where1 + ` then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =3` + where1 + ` then 1 else 0 end),2) ConditionScore5, `
|
|
|
+ sql += ` ROUND(sum(case when items.ParentId = 0 AND items.Type = 3` + where1 + ` then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 3` + where1 + ` then 1 else 0 end),2) ConditionScore, `
|
|
|
|
|
|
if scoreType == "2" {
|
|
|
where1 += " AND items.Category = 0 "
|
|
|
@@ -129,8 +135,9 @@ func (s *OilContractSumScoreService) GetPagingComputeEntitiesWithOrderBytbl(page
|
|
|
sql += ` ROUND(sum(case when items.SequenceNo in ('7') AND items.Type =1` + where1 + ` then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =1` + where1 + ` then 1 else 0 end),2) Score7, `
|
|
|
sql += ` ROUND(sum(case when items.SequenceNo in ('8') AND items.Type =1` + where1 + ` then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =1` + where1 + ` then 1 else 0 end),2) Score8, `
|
|
|
sql += ` ROUND(sum(case when items.SequenceNo in ('9') AND items.Type =1` + where1 + ` then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =1` + where1 + ` then 1 else 0 end),2) Score9, `
|
|
|
- sql += ` ROUND(sum(case when items.ParentId = 0 AND items.Type = 1` + where1 + ` then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1` + where1 + ` then 1 else 0 end),2) Score, `
|
|
|
- sql += ` case when ROUND(sum(case when items.ParentId = 0 AND items.Type = 1` + where1 + ` then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1` + where1 + ` then 1 else 0 end),2) < ` + pass + ` then 3 when ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1 then 1 else 0 end),2) < ` + good + ` then 2 else 1 end as Evaluate `
|
|
|
+ sql += ` ROUND(sum(case when items.ParentId = 0 AND items.Type = 1` + where1 + ` then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1` + where1 + ` then 1 else 0 end) * 0.75,2) Score, `
|
|
|
+ sql += ` case when ROUND(sum(case when items.ParentId = 0 AND items.Type = 1` + where1 + ` then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1` + where1 + ` then 1 else 0 end) * 0.75,2) < ` + pass + ` then 3 when ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1 then 1 else 0 end) * 0.75,2) < ` + good + ` then 2 else 1 end as Evaluate, `
|
|
|
+ sql += ` (ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1 then 1 else 0 end) * 0.75,2) + ROUND(sum(case when items.ParentId = 0 AND items.Type = 3 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 3 then 1 else 0 end),2)) CountScore `
|
|
|
sql += ` from ` + controllers.OilContractReviewName + ` review `
|
|
|
sql += ` left join ` + controllers.OilContractName + ` contract on review.ContractId=contract.id `
|
|
|
sql += ` left join ` + controllers.OilContractEvaluationItemsName + ` items on items.ContentReviewId=review.id and items.LevelCode=1 ` + where1
|
|
|
@@ -178,14 +185,15 @@ func (s *OilContractSumScoreService) GetComputeEntity(entitiesPtr interface{}, w
|
|
|
var sql string
|
|
|
sql = `select YEAR(NOW()) as Year,contract.ContractClass,contract.SupplierId,contract.SupplierName,count(review.id) as count, `
|
|
|
|
|
|
- sql += ` sum(case when items.SequenceNo in ('1') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B1, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('2') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B2, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('3') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B3, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('4') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B4, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('5') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B5, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('6') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B6, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('7') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B7, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('8') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B8, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('1') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B1, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('2') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B2, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('3') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B3, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('4') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B4, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('5') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B5, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('6') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B6, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('7') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B7, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('8') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B8, `
|
|
|
+ sql += ` ROUND(sum(case when items.ParentId = 0 AND items.Type = 3 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 3 then 1 else 0 end),2) ConditionScore, `
|
|
|
|
|
|
sql += ` ROUND(sum(case when items.SequenceNo in ('1') AND items.Type =1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =1 then 1 else 0 end),2) Score1, `
|
|
|
sql += ` ROUND(sum(case when items.SequenceNo in ('2') AND items.Type =1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =1 then 1 else 0 end),2) Score2, `
|
|
|
@@ -196,8 +204,9 @@ func (s *OilContractSumScoreService) GetComputeEntity(entitiesPtr interface{}, w
|
|
|
sql += ` ROUND(sum(case when items.SequenceNo in ('7') AND items.Type =1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =1 then 1 else 0 end),2) Score7, `
|
|
|
sql += ` ROUND(sum(case when items.SequenceNo in ('8') AND items.Type =1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =1 then 1 else 0 end),2) Score8, `
|
|
|
sql += ` ROUND(sum(case when items.SequenceNo in ('9') AND items.Type =1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =1 then 1 else 0 end),2) Score9, `
|
|
|
- sql += ` ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1 then 1 else 0 end),2) Score, `
|
|
|
- sql += ` case when ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1 then 1 else 0 end),2) < ` + pass + ` then 3 when ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1 then 1 else 0 end),2) < ` + good + ` then 2 else 1 end as Evaluate `
|
|
|
+ sql += ` ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1 then 1 else 0 end) * 0.75,2) Score, `
|
|
|
+ sql += ` case when ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1 then 1 else 0 end) * 0.75,2) + ROUND(sum(case when items.ParentId = 0 AND items.Type = 3 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 3 then 1 else 0 end),2) < ` + pass + ` then 3 when ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1 then 1 else 0 end) * 0.75,2) + ROUND(sum(case when items.ParentId = 0 AND items.Type = 3 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 3 then 1 else 0 end),2) < ` + good + ` then 2 else 1 end as Evaluate, `
|
|
|
+ sql += ` (ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1 then 1 else 0 end) * 0.75,2) + ROUND(sum(case when items.ParentId = 0 AND items.Type = 3 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 3 then 1 else 0 end),2)) CountScore `
|
|
|
sql += ` from ` + controllers.OilContractReviewName + ` review `
|
|
|
sql += ` left join ` + controllers.OilContractName + ` contract on review.ContractId=contract.id `
|
|
|
sql += ` left join ` + controllers.OilContractEvaluationItemsName + ` items on items.ContentReviewId=review.id and items.LevelCode=1 `
|
|
|
@@ -251,14 +260,23 @@ func (s *OilContractSumScoreService) GetComputeEntityBytbl(where string) OilCont
|
|
|
// contract.ContractClass,
|
|
|
var sql string
|
|
|
sql = `select YEAR(NOW()) as Year,contract.SupplierId,contract.SupplierName,count(review.id) as count, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('1') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B1, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('2') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B2, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('3') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B3, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('4') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B4, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('5') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B5, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('6') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B6, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('7') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B7, `
|
|
|
- sql += ` sum(case when items.SequenceNo in ('8') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B8, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('1') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B1, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('2') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B2, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('3') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B3, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('4') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B4, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('5') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B5, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('6') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B6, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('7') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B7, `
|
|
|
+ //sql += ` sum(case when items.SequenceNo in ('8') AND items.Type = 2 AND items.Value > 0 then 1 else 0 end ) B8, `
|
|
|
+
|
|
|
+ sql += ` ROUND(sum(case when items.SequenceNo in ('1') AND items.Type = 3 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 3 then 1 else 0 end),2) ConditionScore1, `
|
|
|
+ sql += ` ROUND(sum(case when items.SequenceNo in ('2') AND items.Type = 3 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 3 then 1 else 0 end),2) ConditionScore2, `
|
|
|
+ sql += ` ROUND(sum(case when items.SequenceNo in ('3') AND items.Type = 3 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 3 then 1 else 0 end),2) ConditionScore3, `
|
|
|
+ sql += ` ROUND(sum(case when items.SequenceNo in ('4') AND items.Type = 3 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 3 then 1 else 0 end),2) ConditionScore4, `
|
|
|
+ sql += ` ROUND(sum(case when items.SequenceNo in ('5') AND items.Type = 3 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 3 then 1 else 0 end),2) ConditionScore5, `
|
|
|
+ sql += ` ROUND(sum(case when items.ParentId = 0 AND items.Type = 3 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 3 then 1 else 0 end),2) ConditionScore, `
|
|
|
+
|
|
|
+
|
|
|
sql += ` ROUND(sum(case when items.SequenceNo in ('1') AND items.Type =1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =1 then 1 else 0 end),2) Score1, `
|
|
|
sql += ` ROUND(sum(case when items.SequenceNo in ('2') AND items.Type =1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =1 then 1 else 0 end),2) Score2, `
|
|
|
sql += ` ROUND(sum(case when items.SequenceNo in ('3') AND items.Type =1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =1 then 1 else 0 end),2) Score3, `
|
|
|
@@ -268,8 +286,9 @@ func (s *OilContractSumScoreService) GetComputeEntityBytbl(where string) OilCont
|
|
|
sql += ` ROUND(sum(case when items.SequenceNo in ('7') AND items.Type =1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =1 then 1 else 0 end),2) Score7, `
|
|
|
sql += ` ROUND(sum(case when items.SequenceNo in ('8') AND items.Type =1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =1 then 1 else 0 end),2) Score8, `
|
|
|
sql += ` ROUND(sum(case when items.SequenceNo in ('9') AND items.Type =1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type =1 then 1 else 0 end),2) Score9, `
|
|
|
- sql += ` ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1 then 1 else 0 end),2) Score, `
|
|
|
- sql += ` case when ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1 then 1 else 0 end),2) < ` + pass + ` then 3 when ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1 then 1 else 0 end),2) < ` + good + ` then 2 else 1 end as Evaluate `
|
|
|
+ sql += ` ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1 then 1 else 0 end) * 0.75,2) Score, `
|
|
|
+ sql += ` case when ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1 then 1 else 0 end) * 0.75,2) + ROUND(sum(case when items.ParentId = 0 AND items.Type = 3 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 3 then 1 else 0 end),2) < ` + pass + ` then 3 when ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1 then 1 else 0 end) * 0.75,2) + ROUND(sum(case when items.ParentId = 0 AND items.Type = 3 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 3 then 1 else 0 end),2) < ` + good + ` then 2 else 1 end as Evaluate, `
|
|
|
+ sql += ` (ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 1 then 1 else 0 end) * 0.75,2) + ROUND(sum(case when items.ParentId = 0 AND items.Type = 3 then items.Score else 0 end)/sum(case when items.SequenceNo in ('1') AND items.Type = 3 then 1 else 0 end),2)) CountScore `
|
|
|
sql += ` from ` + controllers.OilContractReviewName + ` review `
|
|
|
sql += ` left join ` + controllers.OilContractName + ` contract on review.ContractId=contract.id `
|
|
|
sql += ` left join ` + controllers.OilContractEvaluationItemsName + ` items on items.ContentReviewId=review.id and items.LevelCode=1 `
|