|
|
@@ -64,7 +64,7 @@ func (s *OilContractSumScoreService) GetPagingComputeEntitiesWithOrderBytbl(page
|
|
|
sqlCount += ` ) t `
|
|
|
|
|
|
var sql string
|
|
|
- sql = `select YEAR(NOW()) as Year,contract.ContractClass,contract.SupplierId,contract.SupplierName,count(review.id) as count,ROUND(sum(items.Score)/count(review.id)/2,2) as Score, `
|
|
|
+ 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, `
|
|
|
@@ -75,16 +75,17 @@ func (s *OilContractSumScoreService) GetPagingComputeEntitiesWithOrderBytbl(page
|
|
|
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 =1 then items.Score else 0 end)/count(review.id)/2,2) Score1, `
|
|
|
- sql += ` ROUND(sum(case when items.SequenceNo in ('2') AND items.Type =1 then items.Score else 0 end)/count(review.id)/2,2) Score2, `
|
|
|
- sql += ` ROUND(sum(case when items.SequenceNo in ('3') AND items.Type =1 then items.Score else 0 end)/count(review.id)/2,2) Score3, `
|
|
|
- sql += ` ROUND(sum(case when items.SequenceNo in ('4') AND items.Type =1 then items.Score else 0 end)/count(review.id)/2,2) Score4, `
|
|
|
- sql += ` ROUND(sum(case when items.SequenceNo in ('5') AND items.Type =1 then items.Score else 0 end)/count(review.id)/2,2) Score5, `
|
|
|
- sql += ` ROUND(sum(case when items.SequenceNo in ('6') AND items.Type =1 then items.Score else 0 end)/count(review.id)/2,2) Score6, `
|
|
|
- sql += ` ROUND(sum(case when items.SequenceNo in ('7') AND items.Type =1 then items.Score else 0 end)/count(review.id)/2,2) Score7, `
|
|
|
- sql += ` ROUND(sum(case when items.SequenceNo in ('8') AND items.Type =1 then items.Score else 0 end)/count(review.id)/2,2) Score8, `
|
|
|
- sql += ` ROUND(sum(case when items.SequenceNo in ('9') AND items.Type =1 then items.Score else 0 end)/count(review.id)/2,2) Score9, `
|
|
|
- sql += ` case when sum(items.Score)/count(review.id) <60 then 3 when sum(items.Score)/count(review.id) <80 then 2 else 1 end as Evaluate `
|
|
|
+ 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, `
|
|
|
+ sql += ` ROUND(sum(case when items.SequenceNo in ('4') 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) Score4, `
|
|
|
+ sql += ` ROUND(sum(case when items.SequenceNo in ('5') 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) Score5, `
|
|
|
+ sql += ` ROUND(sum(case when items.SequenceNo in ('6') 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) Score6, `
|
|
|
+ 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) <60 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) <80 then 2 else 1 end as Evaluate `
|
|
|
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 `
|