浏览代码

前后:基本条件是否就是不合格

dubch 4 年之前
父节点
当前提交
59189ede69

+ 1 - 0
src/dashoo.cn/backend/api/business/oilcontract/contractSumScore/contractSumScore.go

@@ -107,6 +107,7 @@ type OilContractComputeSumScoreVo struct {
 	SupplierId    int       `json:"SupplierId"`
 	SupplierName  string    `json:"SupplierName"`
 	ContractClass string    `json:"ContractClass"`
+	Result 	  	  string    `json:"Result"`
 	Year          string    `json:"Year"`
 	Score         string    `json:"Score"`
 	Score1    	  string    `json:"Score1"`

+ 49 - 1
src/dashoo.cn/backend/api/business/oilcontract/contractSumScore/contractSumScoreService.go

@@ -203,7 +203,7 @@ func (s *OilContractSumScoreService) GetSumListEntitiesWithOrderBytbl(entitiesPt
 	var sql string
 	sql = `select contract.Id,contract.SupplierId,contract.SupplierName,contract.Amount, `
 	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)  Result1, `
-	sql += ` sum(case when items.Type = 2 AND items.Value = 1 then 1 else 0 end)  Result2 `
+	sql += ` min(case when items.Type = 2 AND items.Value = 0 then 0 else 1 end)  Result2  `
 	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 `
@@ -285,3 +285,51 @@ func (s *OilContractSumScoreService) GetSum(entitiesPtr interface{}, where strin
 
 	s.DBE.SQL(sql).Get(entitiesPtr)
 }
+
+func (s *OilContractSumScoreService) GetMinValue(entitiesPtr interface{}, where string) {
+	// 优秀、合格分数值从配置中取
+	var paramEntityList []baseparameter.Base_Parameter
+	paramsSvc := baseparameter.GetBaseparameterService(utils.DBE)
+	paramEntityList = paramsSvc.GetBaseparameterbyid("GFGL1", "paramset")
+	good := "80"
+	pass := "60"
+	for _, i := range paramEntityList {
+		if i.Parametercode == "yearEvaGood" {
+			good = i.Parametercontent
+		}
+		if i.Parametercode == "yearEvaPass" {
+			pass = i.Parametercontent
+		}
+	}
+
+	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 += ` 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) < ` + 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 += ` 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 `
+	sql += ` where ` + where
+	sql += ` group by contract.SupplierId,contract.SupplierName `
+
+	s.DBE.SQL(sql).Get(entitiesPtr)
+}

+ 44 - 0
src/dashoo.cn/backend/api/controllers/oilcontract/contractSumScore.go

@@ -215,6 +215,18 @@ func (this *OilContractSumScoreController) GetComputeEntityList() {
 	svc := contractSumScore.GetOilContractSumScoreService(utils.DBE)
 	var list []contractSumScore.OilContractComputeSumScoreVo
 	total := svc.GetPagingComputeEntitiesWithOrderBytbl(page.CurrentPage, page.Size, orderby, asc, &list, where, having)
+	for index,item := range list {
+		where1 := where + " and contract.SupplierId = " + strconv.Itoa(item.SupplierId)
+		var list1 []contractSumScore.OilContractSumScoreResult
+		svc.GetSumListEntitiesWithOrderBytbl(&list1, where1)
+		if len(list1) > 0 {
+			for _, value := range list1 {
+				if value.Result2 == "0" {
+					list[index].Result = "0"
+				}
+			}
+		}
+	}
 	var datainfo DataInfo
 	datainfo.Items = list
 	datainfo.CurrentItemCount = total
@@ -369,6 +381,19 @@ func (this *OilContractSumScoreController) GetResultEntity() {
 	var list []contractSumScore.OilContractSumScoreResult
 	svc := contractSumScore.GetOilContractSumScoreService(utils.DBE)
 	where := " contract.SupplierId = " + Id
+	ContractClass := this.GetString("ContractClass")
+
+	if ContractClass != "" {
+		where = where + " and contract.ContractClass = '" + ContractClass + "'"
+	}
+	// 今年的汇总
+	year := strconv.Itoa(time.Now().Year())
+	month := "01"
+	day := "01"
+	where = where + " and review.CreateOn>='" + year + "-" + month + "-" + day + "' and review.CreateOn <= '" + year + "-12-31 23:59:59' "
+
+	// 审核通过的参与核算
+	where = where + " and review.Status='8' "
 	svc.GetSumListEntitiesWithOrderBytbl(&list, where)
 	var sum float64
 	var amountSum float64
@@ -835,6 +860,9 @@ func (this *OilContractSumScoreController) DocExport() {
 	} else {
 		datamap["Result2"] = "观察使用"
 	}
+	if Result2 == "否" {
+		datamap["Result2"] = "不合格"
+	}
 	datamap["SumScore"] = list.Score
 	datamap["SumScore1"] = list.Score1
 	datamap["Count"] = total
@@ -884,6 +912,9 @@ func (this *OilContractSumScoreController) DocExport() {
 	} else {
 		datamap["Conclusion"] = "□优秀 □合格 ☑观察使用 □不合格"
 	}
+	if Result2 == "否" {
+		datamap["Conclusion"] = "□优秀 □合格 □观察使用 ☑不合格"
+	}
 
 	fileName := "承包商年度评价表和综合年度评价表.docx"
 	Url := utils.Cfg.MustValue("workflow", "contractSumScoreUrl")
@@ -983,6 +1014,19 @@ func (this *OilContractSumScoreController) ExcelExport() {
 	var list []contractSumScore.OilContractComputeSumScoreVo
 	svc.GetPagingComputeEntitiesWithOrderBytbl(page.CurrentPage, page.Size, orderby, asc, &list, where, having)
 
+	for index,item := range list {
+		where1 := where + " and contract.SupplierId = " + strconv.Itoa(item.SupplierId)
+		var list1 []contractSumScore.OilContractSumScoreResult
+		svc.GetSumListEntitiesWithOrderBytbl(&list1, where1)
+		if len(list1) > 0 {
+			for _, value := range list1 {
+				if value.Result2 == "0" {
+					list[index].Result = "0"
+				}
+			}
+		}
+	}
+
 	var datainfo ErrorDataInfo
 	if len(list) == 0 {
 		datainfo.Code = -1

+ 3 - 2
src/dashoo.cn/frontend_web/src/api/oilcontract/contractSumScore.js

@@ -46,10 +46,11 @@ export default {
     })
   },
 
-  GetResultEntity (entityId, myAxios) {
+  GetResultEntity (entityId, params, myAxios) {
     return myAxios({
       url: '/contract-score/getresult/' + entityId,
-      method: 'GET'
+      method: 'GET',
+      params: params
     })
   },
 

+ 7 - 3
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-basis-year/_opera/operation.vue

@@ -580,19 +580,23 @@ export default {
       this.$set(this.evaluateData, 'SumScore6', Number(item.Score6))
       this.$set(this.evaluateData, 'SumScore7', Number(item.Score7))
       this.$set(this.evaluateData, 'SumScore8', Number(item.Score8))
-      this.$set(this.evaluateData, 'Conclusion', Number(item.Evaluate))
-      console.log(this.evaluateData)
+      console.log(item,'item')
       // this.$set(this.evaluateData, 'Result1', '')
       // this.$set(this.evaluateData, 'Result2', '')
       // this.getList()
       // 判断基本条件结果
-      api.GetResultEntity(id, this.$axios).then(res => {
+      let params = {
+        ContractClass : '02'
+      }
+      api.GetResultEntity(id,params, this.$axios).then(res => {
         console.log('结果', res)
         this.$set(this.evaluateData, 'Result1', res.data.Result1)
         if (res.data.Result2 && res.data.Result2 == '0') {
           this.$set(this.evaluateData, 'Result2', '否')
+          this.$set(this.evaluateData, 'Conclusion', 3)
         } else {
           this.$set(this.evaluateData, 'Result2', '是')
+          this.$set(this.evaluateData, 'Conclusion', Number(item.Evaluate))
         }
       }).catch(err => {
         console.error(err)

+ 5 - 2
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-basis-year/index.vue

@@ -106,7 +106,7 @@
 
         <el-table-column sortable show-overflow-tooltip prop="Evaluate" label="评价结果" header-align="center" min-width="120" align="center">
           <template slot-scope="scope">
-            {{evaluateFun(scope.row.Evaluate)}}
+            {{evaluateFun(scope.row.Evaluate,scope.row.Result)}}
           </template>
         </el-table-column>
 
@@ -231,7 +231,10 @@
         authUser: 'authUser'
       }),
       evaluateFun: function () {
-        return function (item) {
+        return function (item,result) {
+          if (result === '0') {
+            return '不合格'
+          }
           var index = Number(item)
           switch (index) {
             case 1:

+ 6 - 2
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-goods-year/_opera/operation.vue

@@ -506,18 +506,22 @@ export default {
       this.$set(this.evaluateData, 'SumScore3', Number(item.Score3))
       this.$set(this.evaluateData, 'SumScore4', Number(item.Score4))
       this.$set(this.evaluateData, 'SumScore5', Number(item.Score5))
-      this.$set(this.evaluateData, 'Conclusion', Number(item.Evaluate))
       // this.$set(this.evaluateData, 'Result1', '')
       // this.$set(this.evaluateData, 'Result2', '')
       // this.getList()
       // 判断基本条件结果
-      api.GetResultEntity(id, this.$axios).then(res => {
+      let params = {
+        ContractClass : '01'
+      }
+      api.GetResultEntity(id, params, this.$axios).then(res => {
         console.log('结果', res)
         this.$set(this.evaluateData, 'Result1', res.data.Result1)
         if (res.data.Result2 && res.data.Result2 == '0') {
           this.$set(this.evaluateData, 'Result2', '否')
+          this.$set(this.evaluateData, 'Conclusion', 3)
         } else {
           this.$set(this.evaluateData, 'Result2', '是')
+          this.$set(this.evaluateData, 'Conclusion', Number(item.Evaluate))
         }
       }).catch(err => {
         console.error(err)

+ 5 - 2
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-goods-year/index.vue

@@ -58,7 +58,7 @@
         <el-table-column sortable show-overflow-tooltip prop="Score" header-align="center" label="评价得分(100分)" align="center" width="140"></el-table-column>
         <el-table-column sortable show-overflow-tooltip prop="Evaluate" label="评价结果" header-align="center" width="100" align="center">
           <template slot-scope="scope">
-            {{evaluateFun(scope.row.Evaluate)}}
+            {{evaluateFun(scope.row.Evaluate,scope.row.Result)}}
           </template>
         </el-table-column>
         <el-table-column sortable show-overflow-tooltip label="评价内容及得分" header-align="center">
@@ -166,7 +166,10 @@
         authUser: 'authUser'
       }),
       evaluateFun:function(){
-        return function(item){
+        return function(item,result){
+          if (result === '0') {
+            return '不合格'
+          }
           var index = Number(item)
           switch(index){
             case 1:

+ 6 - 2
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service-year/_opera/operation.vue

@@ -492,18 +492,22 @@ export default {
       this.$set(this.evaluateData, 'SumScore2', Number(item.Score2))
       this.$set(this.evaluateData, 'SumScore3', Number(item.Score3))
       this.$set(this.evaluateData, 'SumScore4', Number(item.Score4))
-      this.$set(this.evaluateData, 'Conclusion', Number(item.Evaluate))
       // this.$set(this.evaluateData, 'Result1', '')
       // this.$set(this.evaluateData, 'Result2', '')
       // this.getList()
       // 判断基本条件结果
-      api.GetResultEntity(id, this.$axios).then(res => {
+      let params = {
+        ContractClass : '03'
+      }
+      api.GetResultEntity(id, params, this.$axios).then(res => {
         console.log('结果', res)
         this.$set(this.evaluateData, 'Result1', res.data.Result1)
         if (res.data.Result2 && res.data.Result2 == '0') {
           this.$set(this.evaluateData, 'Result2', '否')
+          this.$set(this.evaluateData, 'Conclusion', 3)
         } else {
           this.$set(this.evaluateData, 'Result2', '是')
+          this.$set(this.evaluateData, 'Conclusion', Number(item.Evaluate))
         }
       }).catch(err => {
         console.error(err)

+ 5 - 2
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service-year/index.vue

@@ -59,7 +59,7 @@
         <el-table-column sortable show-overflow-tooltip prop="Score" header-align="center" label="评价得分" width="120" align="center"></el-table-column>
         <el-table-column sortable show-overflow-tooltip prop="Evaluate" align="center" label="评价结果" header-align="center" width="100" >
           <template slot-scope="scope">
-            {{evaluateFun(scope.row.Evaluate)}}
+            {{evaluateFun(scope.row.Evaluate,scope.row.Result)}}
           </template>
         </el-table-column>
         <el-table-column sortable show-overflow-tooltip label="评价内容及得分" header-align="center">
@@ -159,7 +159,10 @@
         authUser: 'authUser'
       }),
       evaluateFun:function(){
-        return function(item){
+        return function(item,result){
+          if (result === '0') {
+            return '不合格'
+          }
           var index = Number(item)
           switch(index){
             case 1: